time: use %*pb[l] to print bitmaps including cpumasks and nodemasks
authorTejun Heo <tj@kernel.org>
Fri, 13 Feb 2015 22:37:31 +0000 (14:37 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Feb 2015 05:21:37 +0000 (21:21 -0800)
printk and friends can now format bitmaps using '%*pb[l]'.  cpumask
and nodemask also provide cpumask_pr_args() and nodemask_pr_args()
respectively which can be used to generate the two printf arguments
necessary to format the specified cpu/nodemask.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/time/tick-sched.c

index 1363d58..a4c4eda 100644 (file)
@@ -326,13 +326,6 @@ static int 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_full_buf[NR_CPUS + 1];
-
 static int tick_nohz_init_all(void)
 {
        int err = -1;
@@ -393,8 +386,8 @@ void __init tick_nohz_init(void)
                context_tracking_cpu_set(cpu);
 
        cpu_notifier(tick_nohz_cpu_down_callback, 0);
-       cpulist_scnprintf(nohz_full_buf, sizeof(nohz_full_buf), tick_nohz_full_mask);
-       pr_info("NO_HZ: Full dynticks CPUs: %s.\n", nohz_full_buf);
+       pr_info("NO_HZ: Full dynticks CPUs: %*pbl.\n",
+               cpumask_pr_args(tick_nohz_full_mask));
 }
 #endif