Given that we are applying a few restrictions on the full dynticks CPUs range (boot CPU excluded, then soon the RCU nocb subset requirement), let's print the final resulting range of full dynticks CPUs to the user so that he knows what's really going to run.
Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Geoff Levand <[email protected]> Cc: Gilad Ben Yossef <[email protected]> Cc: Hakan Akkan <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Li Zhong <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul E. McKenney <[email protected]> Cc: Paul Gortmaker <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Thomas Gleixner <[email protected]> --- kernel/time/tick-sched.c | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-) diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 74bc7f1..1eb0e35 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -196,12 +196,24 @@ static int __cpuinit tick_nohz_cpu_down_callback(struct notifier_block *nfb, return NOTIFY_OK; } +/* + * Worst case string length in chunks of CPU range seems 2 steps + * separations: 0,2,4,6,... + * This is NR_CPUS + sizeof('\0') + */ +static char __initdata nohz_ext_buf[NR_CPUS + 1]; + static int __init init_tick_nohz_extended(void) { int cpu; - if (have_nohz_extended_mask) - cpu_notifier(tick_nohz_cpu_down_callback, 0); + if (!have_nohz_extended_mask) + return 0; + + cpu_notifier(tick_nohz_cpu_down_callback, 0); + + cpulist_scnprintf(nohz_ext_buf, sizeof(nohz_ext_buf), nohz_extended_mask); + pr_info("NO_HZ: Experimental full dynticks CPUs: %s.\n", nohz_ext_buf); return 0; } -- 1.7.5.4 -- 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/

