On 2/6/25 10:09 AM, Marco Elver wrote:
+/* Sparse context/lock checking support. */
+# define __must_hold(x)                __attribute__((context(x,1,1)))
+# define __acquires(x)         __attribute__((context(x,0,1)))
+# define __cond_acquires(x)    __attribute__((context(x,0,-1)))
+# define __releases(x)         __attribute__((context(x,1,0)))
+# define __acquire(x)          __context__(x,1)
+# define __release(x)          __context__(x,-1)
+# define __cond_lock(x, c)     ((c) ? ({ __acquire(x); 1; }) : 0)

If support for Clang thread-safety attributes is added, an important
question is what to do with the sparse context attribute. I think that
more developers are working on improving and maintaining Clang than
sparse. How about reducing the workload of kernel maintainers by
only supporting the Clang thread-safety approach and by dropping support
for the sparse context attribute?

Thanks,

Bart.

Reply via email to