Messages in this thread | | | Subject | Re: waitqueue lockdep annotation | From | Jason Baron <> | Date | Fri, 1 Dec 2017 14:00:33 -0500 |
| |
On 12/01/2017 12:11 PM, Christoph Hellwig wrote: > On Thu, Nov 30, 2017 at 05:18:07PM -0500, Jason Baron wrote: >> Yes, but for those cases it uses the ep->poll_wait waitqueue not the >> ep->wq, which is guarded by the ep->wq->lock. > > True. So it looks like we have one waitqueue in the system that is > special in providing its own synchronization for waitqueues while > entirely ignoring the waitqueue code documentation that states that > waitqueues are internally synchronized. > > We could drop the lockdep annotation, updated the documentation and > not add any validation of the assumptions, or just make epoll fit the > scheme used by everyone else. So either we can drop these patches, or > I need to fix up more of the epoll code. >
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.
Thanks,
-Jason
| |