Messages in this thread | | | Date | Wed, 2 Oct 2013 14:50:52 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 2/4] nohz: Synchronize sleep time stats with seqlock |
| |
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.
| |