[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090204010036.GA10229@movementarian.org>
Date: Tue, 3 Feb 2009 20:00:36 -0500
From: wli@...ementarian.org
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Jonathan Corbet <corbet@....net>, linux-kernel@...r.kernel.org,
andi@...stfloor.org, oleg@...hat.com, viro@...IV.linux.org.uk,
davidel@...ilserver.org, davem@...emloft.net, hch@....de,
linux-api@...r.kernel.org, mpm@...enic.com,
alan@...rguk.ukuu.org.uk
Subject: Re: [PATCH 2/4] Convert epoll to a bitlock
On Mon, 2 Feb 2009 11:20:09 -0700 Jonathan Corbet <corbet@....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.
On Tue, Feb 03, 2009 at 01:39:42PM -0800, Andrew Morton wrote:
> 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.
ISTR the memory/compiler ordering semantics bits coming up when it was
still pte_chain_lock(), but not the entirety of it. I think
smp_mb__after_clear_bit() and/or smp_mb__before_clear_bit() turned out
to be needed in the unlock function, and they're there now with
clear_bit_unlock() et al. lockdep I'm less sure about, but suspect
the objects with bit locks embedded in them are too numerous to feasibly
track, e.g. there may be several bh's per-page, and how numerous they
are tends to be why they're using bit locks in the first place.
-- wli
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists