powerpc: Set nr_cpu_ids early and use it to free PACAs
Without this, "holes" in the CPU numbering can cause us to free too many PACAs Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
		
					parent
					
						
							
								f86d6b9b36
							
						
					
				
			
			
				commit
				
					
						c1854e0072
					
				
			
		
					 2 changed files with 4 additions and 1 deletions
				
			
		|  | @ -203,7 +203,7 @@ void __init free_unused_pacas(void) | |||
| { | ||||
| 	int new_size; | ||||
| 
 | ||||
| 	new_size = PAGE_ALIGN(sizeof(struct paca_struct) * num_possible_cpus()); | ||||
| 	new_size = PAGE_ALIGN(sizeof(struct paca_struct) * nr_cpu_ids); | ||||
| 
 | ||||
| 	if (new_size >= paca_size) | ||||
| 		return; | ||||
|  |  | |||
|  | @ -509,6 +509,9 @@ void __init smp_setup_cpu_maps(void) | |||
| 	 */ | ||||
| 	cpu_init_thread_core_maps(nthreads); | ||||
| 
 | ||||
| 	/* Now that possible cpus are set, set nr_cpu_ids for later use */ | ||||
| 	nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1; | ||||
| 
 | ||||
| 	free_unused_pacas(); | ||||
| } | ||||
| #endif /* CONFIG_SMP */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ryan Grimm
				Ryan Grimm