On Wed, Oct 02, 2013 at 02:45:41PM +0200, Frederic Weisbecker wrote: > On Tue, Oct 01, 2013 at 06:59:57PM +0200, Peter Zijlstra wrote: > > On Tue, Oct 01, 2013 at 06:47:10PM +0200, Frederic Weisbecker wrote: > > > Yeah thinking more about it, the preempt disable was probably not > > > necessary. Now that's trading 2 atomics + 1 Lock/Unlock with 2 > > > Lock/Unlock. > > > > It trades the current 2 atomics for 2 LOCK/UNLOCK. And on x86_64 that's > > 2 atomics. > > Do you mean 2 atomics for LOCK/UNLOCK? Or is that pair optimized somehow > in x86?
Unlock isn't an atomic on x86_64; it can be on certain i386 builds. See UNLOCK_LOCK_PREFIX. > > > > So all we get is some extra branches; which we must hope for don't > > actually mess things up too bad. > > > > Ohh.. wait a sec.. we also call local_clock() which includes another > > atomic :/ Bugger.. > > Yeah. Anyway, I'm going to try something on top of that. May be we'll get > a fresher mind and ideas on how to optimize that all after. Fair enough. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/