On 2017/7/13 16:36, Peter Zijlstra wrote: > On Wed, Jul 12, 2017 at 02:32:40PM -0700, Andi Kleen wrote: > >>> It uses the normal idle path, it just makes the NOHZ enter fail. >> >> Which is only a small part of the problem. > > Given the data so far provided it was by far the biggest problem. If you > want more things changed, you really have to give more data. >
I have a data between arch_cpu_idle_enter and arch_cpu_idle_exit, this already excluded HW sleep. - totally from arch_cpu_idle_enter entry to arch_cpu_idle_exit return costs 9122ns - 15318ns. ---- In this period(arch idle), rcu_idle_enter costs 1985ns - 2262ns, rcu_idle_exit costs 1813ns - 3507ns Besides RCU, the period includes c-state selection on X86, a few timestamp updates and a few computations in menu governor. Also, deep HW-cstate latency can be up to 100+ microseconds, even if the system is very busy, CPU still has chance to enter deep cstate, which I guess some outburst workloads are not happy with it. That's my major concern without a fast idle path. Thanks, -Aubrey