Re: [PATCH 1/2] epoll: use the waitqueue lock to protect ep->wq

From: Ingo Molnar
Date: Thu Dec 07 2017 - 01:12:22 EST



* Andreas Dilger <adilger@xxxxxxxxx> wrote:

> > On Dec 6, 2017, at 17:49, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > This exposes some waitqueue internals, but AFAICS the FUSE code already does a
> > similar trick with fiq->waitq.lock so there's precedent.
>
> What about waitqueue_lock() and waitqueue_unlock() helpers that
> lock and unlock, to avoid exposing the internals? Or would that add
> confusion by making users think they need their own waitqueue locking?

Right now there are just two users (FUSE and epoll), and both are well-maintained,
essentially core kernel code - I'd rather prefer the readability of explicitly
writing out the locking/unlocking pattern.

So while it's a mild layering violation, it's also a valid looking optimization.

Thanks,

Ingo