Re: [PATCH 2/4] Convert epoll to a bitlock

Nick Piggin
2009-02-04T04:55:09Z

On Wednesday 04 February 2009 08:39:42 Andrew Morton wrote:
> On Mon, 2 Feb 2009 11:20:09 -0700
>
> Jonathan Corbet <corbet@lwn.net> wrote:
> > Matt Mackall suggested converting epoll's ep_lock to a bitlock as a way
> > of saving space in struct file. This patch makes that change.
>
> hrm. bit_spin_lock() makes people upset (large penguiny people). iirc
> it doesn't have all the correct/well-understood memory/compiler
> ordering semantics which spinlocks have.

Bit spinlocks are OK now they are using lock bitops. Of course, they are
even nicer (and become very comparable to spinlocks) if you can use the
non-atomic unlock __bit_spin_unlock().

But it seems probably like another approach being discussed is a better
idea anyway.

> And lockdep doesn't know about
> it.

This is a valid concern. Someone had a patch to add lockdep support to it,
which might be a good idea to do. But for small inner locks, maybe not a
huge problem.