2014-07-19 20:28 GMT+02:00 Peter Zijlstra <[email protected]>: > On Sat, Jul 19, 2014 at 08:01:24PM +0200, Frederic Weisbecker wrote: >> This can be changed by allowing timekeeping duty from all non-nohz_full >> CPUs, that's >> the initial direction I took, but it involved a lot of complications and >> scalability >> issues. > > How so, currently any CPU can be timekeeper, how is any !nohz_full cpu > different?
If timekeeping becomes a movable target in nohz full then we need to make rcu_sys_is_idle() callable concurrently and we must send the timekeeping-wakeup IPI to a possibly moving target. All that is a predictable nightmare both in terms of complexity and scalability. That's the direction I took initially (https://lkml.org/lkml/2013/12/17/708) but I quickly resigned. The changestat needed to be doubled to do it correctly. Moreover having non-nohz-full CPUs other than CPU 0 is expected to be a corner case. A corner case for a barely used feature (nohz full) as of today. Also you might want to read tglx opinion on movable timekeepers in nohz full: http://marc.info/?i=alpine.DEB.2.02.1405092358390.6261%40ionos.tec.linutronix.de -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

