Messages in this thread | | | Date | Tue, 3 Feb 2009 14:05:43 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 2/4] Convert epoll to a bitlock |
| |
On Tue, 03 Feb 2009 22:55:26 +0100 Eric Dumazet <dada1@cosmosbay.com> wrote:
> Andrew Morton a __crit : > > 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. And lockdep doesn't know about > > it. > > > > In a previous attempt (2005), I suggested using a single global lock. > > http://search.luky.org/linux-kernel.2005/msg50862.html
ok..
> Probably an array of hashed spinlocks would be more than enough. >
yes, f_ep_lock is a teeny innermost lock. Perhaps using f->f_dentry->d_inode->i_lock would be a decent speed/space compromise.
| |