Re: waitqueue lockdep annotation

From: Jason Baron
Date: Fri Dec 01 2017 - 17:35:30 EST


On 12/01/2017 05:02 PM, Christoph Hellwig wrote:
> On Fri, Dec 01, 2017 at 02:00:33PM -0500, Jason Baron wrote:
>> You could leave the annotation and do something like:
>> s/ep->lock/ep->wq->lock. And then that would remove the ep->lock saving
>> a bit of space.
>
> Looks like this isn't going to work due to ep_poll_safewake taking
> another waitqueue lock. If we had a strict lock order it might work,
> but the mess in ep_call_nested makes me fear it doesn't.
>

hmmm...I'm not sure how this suggestion would change the locking rules
from what we currently have. Right now, we use ep->lock, if we remove
that and use ep->wq->lock instead, there is just a 1-to-1 mapping there
that has not changed, since ep->wq->lock currently is completely not
being used.

Thanks,

-Jason