Messages in this thread | | | Date | Mon, 1 Jul 2013 12:56:03 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH RFC nohz_full 0/7] v2 Provide infrastructure for full-system idle |
| |
On Mon, Jul 01, 2013 at 07:43:47PM +0000, Christoph Lameter wrote: > On Fri, 28 Jun 2013, Paul E. McKenney wrote: > > > Unfortunately, timekeeping CPU continues taking scheduling-clock > > interrupts even when all other CPUs are completely idle, which is > > not so good for energy efficiency and battery lifetime. Clearly, it > > would be good to turn off the timekeeping CPU's scheduling-clock tick > > when all CPUs are completely idle. This is conceptually simple, but > > we also need good performance and scalability on large systems, which > > rules out implementations based on frequently updated global counts of > > non-idle CPUs as well as implementations that frequently scan all CPUs. > > Nevertheless, we need a single global indicator in order to keep the > > overhead of checking acceptably low. > > Can we turn off timekeeping when no cpu needs time in adaptive mode? > Setting breakpoints in the VDSO could force timekeeping on again whenever > something needs time. Would this not be simpler?
Might be. But what causes the breakpoints to be set on a system where there is one CPU-bound nohz_full user-mode task with all other CPUs idle? Or are you suggesting taking a breakpoint trap on each timekeeping access to VDSO?
Thanx, Paul
| |