Re: [PATCH V3]hrtimer: Fix a performance regression by disablereprogramming in remove_hrtimer

From: Mike Galbraith
Date: Thu Aug 08 2013 - 00:05:58 EST


On Wed, 2013-08-07 at 10:25 +0200, Mike Galbraith wrote:

> E5620 (2.4 GHz Westmere) throttle
>
> v3.11-rc4-27-ge4ef108 v3.11-rc4-27-ge4ef108+peterz
> 6.76% [k] __schedule 7.68% [k] reschedule_interrupt (find this little bastard)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 5.90% [k] reschedule_interrupt 7.18% [k] __schedule
> 4.12% [k] __switch_to 4.52% [k] __switch_to
> 3.58% [k] resched_tas 4.24% [k] cpuidle_enter_state
> 3.24% [k] cpuidle_enter_state 2.96% [k] cpu_idle_loop
> 3.01% [k] _raw_spin_lock_irqsave 2.96% [k] resched_task
> 2.67% [k] cpu_idle_loop 2.79% [k] _raw_spin_lock_irqsave
> 2.49% [k] task_waking_fair 2.45% [k] ktime_get
> 2.38% [k] copy_user_generic_string 2.34% [k] copy_user_generic_string
> 2.27% [k] mutex_lock 2.32% [k] get_typical_interval

7d1a941731fabf27e5fb6edbebb79fe856edb4e5 is the first bad commit
commit 7d1a941731fabf27e5fb6edbebb79fe856edb4e5
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Thu Mar 21 22:50:03 2013 +0100

x86: Use generic idle loop


So, in summary, seems we need to forget all about scheduling anything
remotely fast cross core these days, even on core2 with its lovely
shared L2, as otherwise we'll beat it all up. Boxen with no nohz
throttle maybe don't notice how bad all this progress hurt because
they're used to being in agony. Your patch (modulo any bustage, haven't
run any testsuite, only ran for regression hunt/test purposes) should
make smiles for those who notice large chunk of that pain going away.

My beloved ole Q6600 is currently not particularly happy, and that's
best case, shared L2, where nearly any dinky overlap used to be
reclaimable. Even with your patch, we'll still be losers at network
fast movers across the board on any box methinks.

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/