| Date | Fri, 4 Jan 2013 13:51:46 +0100 | Subject | Re: [PATCH 07/27] nohz: Assign timekeeping duty to a non-full-nohz CPU | From | Frederic Weisbecker <> |
| |
2013/1/2 Christoph Lameter <cl@linux.com>: > On Sat, 29 Dec 2012, Frederic Weisbecker wrote: > >> @@ -163,6 +164,8 @@ static int __init tick_nohz_full_setup(char *str) >> return 1; >> } >> __setup("full_nohz=", tick_nohz_full_setup); >> +#else >> +#define have_full_nohz_mask (0) >> #endif >> >> /* >> @@ -512,6 +515,10 @@ static bool can_stop_idle_tick(int cpu, struct tick_sched *ts) >> return false; >> } >> >> + /* If there are full nohz CPUs around, we need to keep the timekeeping duty */ >> + if (have_full_nohz_mask && tick_do_timer_cpu == cpu) >> + return false; >> + >> return true; >> } >> >> > > Ok so I guess this means that if I setup all cpus as nohz then a random > one will continue to do timekeeping?
In fact, although the code doesn't check that yet, you're supposed to have at least one online CPU outside the full_nohz mask to handle that.
|