On Mon, 2 Feb 2009 11:20:09 -0700 Jonathan Corbet <corbet@xxxxxxx> 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-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html