Re: [PATCH] Pass sparse the lock expression given to lockannotations

From: Josh Triplett
Date: Fri Aug 25 2006 - 11:51:16 EST


On Thu, 2006-08-24 at 21:05 -0700, Andrew Morton wrote:
> On Thu, 24 Aug 2006 17:48:56 -0700
> Josh Triplett <josht@xxxxxxxxxx> wrote:
>
> > The lock annotation macros __acquires, __releases, __acquire, and __release
> > all currently throw the lock expression passed as an argument. Now that
> > sparse can parse __context__ and __attribute__((context)) with a context
> > expression, pass the lock expression down to sparse as the context expression.
>
> What is the dependency relationship between your kernel changes and your
> proposed change to sparse?

Sparse with my multi-context patch will continue to parse versions of
the kernel without this kernel patch, since I made the context
expression optional in sparse. Versions of sparse without my
multi-context patch will not parse kernels with this kernel patch (since
previous versions of sparse will not support the extra argument). The
same dependency relationship has held true with past additions to sparse
and the kernel; furthermore, that dependency relationship often exists
anyway due to the use of new GCC extensions in the kernel which require
changes to the sparse parser, such as __builtin_types_compatible_p,
__builtin_extract_return_addr, __builtin_va_copy, and
__attribute__((no_instrument_function)).

- Josh Triplett


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/