Re: [PATCH] Make spinlock/rwlock annotations more accurate byusing parameters, not types

From: Josh Triplett
Date: Thu Aug 24 2006 - 20:49:17 EST


On Tue, 2006-08-22 at 20:53 -0700, Andrew Morton wrote:
> On Tue, 22 Aug 2006 17:51:38 -0700
> Josh Triplett <josht@xxxxxxxxxx> wrote:
>
> > The lock annotations used on spinlocks and rwlocks currently use
> > __{acquires,releases}(spinlock_t) and __{acquires,releases}(rwlock_t),
> > respectively. This loses the information of which lock actually got acquired
> > or released, and assumes a different type for the parameter of __acquires and
> > __releases than the rest of the kernel. While the current implementations of
> > __acquires and __releases throw away their argument, this will not always
> > remain the case.
>
> It won't? Why, what will happen?

See http://marc.theaimsgroup.com/?l=linux-sparse&m=115644727723278&w=2
(Message-ID: 1156447273.3418.34.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxx); with
that patch, sparse can track a context expression per context. I plan
to make sparse use that context expression to track contexts
independently to improve the correctness and usefulness of context
warnings. The Linux patch "Pass sparse the lock expression given to
lock annotations" that I just sent (Message-ID:
1156466936.3418.58.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxx) changes
__acquires, __releases, __acquire, and __release to stop ignoring the
lock expression, and pass it to sparse.

- 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/