percpu: use %*pb[l] to print bitmaps including cpumasks and nodemasks
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: Christoph Lameter <cl@linux-foundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
				
					committed by
					
						 Linus Torvalds
						Linus Torvalds
					
				
			
			
				
	
			
			
			
						parent
						
							ffda22c1f3
						
					
				
				
					commit
					807de073bb
				
			| @@ -1528,7 +1528,6 @@ static void pcpu_dump_alloc_info(const char *lvl, | ||||
| int __init pcpu_setup_first_chunk(const struct pcpu_alloc_info *ai, | ||||
| 				  void *base_addr) | ||||
| { | ||||
| 	static char cpus_buf[4096] __initdata; | ||||
| 	static int smap[PERCPU_DYNAMIC_EARLY_SLOTS] __initdata; | ||||
| 	static int dmap[PERCPU_DYNAMIC_EARLY_SLOTS] __initdata; | ||||
| 	size_t dyn_size = ai->dyn_size; | ||||
| @@ -1541,12 +1540,11 @@ int __init pcpu_setup_first_chunk(const struct pcpu_alloc_info *ai, | ||||
| 	int *unit_map; | ||||
| 	int group, unit, i; | ||||
|  | ||||
| 	cpumask_scnprintf(cpus_buf, sizeof(cpus_buf), cpu_possible_mask); | ||||
|  | ||||
| #define PCPU_SETUP_BUG_ON(cond)	do {					\ | ||||
| 	if (unlikely(cond)) {						\ | ||||
| 		pr_emerg("PERCPU: failed to initialize, %s", #cond);	\ | ||||
| 		pr_emerg("PERCPU: cpu_possible_mask=%s\n", cpus_buf);	\ | ||||
| 		pr_emerg("PERCPU: cpu_possible_mask=%*pb\n",		\ | ||||
| 			 cpumask_pr_args(cpu_possible_mask));		\ | ||||
| 		pcpu_dump_alloc_info(KERN_EMERG, ai);			\ | ||||
| 		BUG();							\ | ||||
| 	}								\ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user