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? > > 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. -- 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/