diff options
Diffstat (limited to 'mm/percpu.c')
| -rw-r--r-- | mm/percpu.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/percpu.c b/mm/percpu.c index 2ddf9a990dbd..da997f9800bd 100644 --- a/mm/percpu.c +++ b/mm/percpu.c @@ -720,8 +720,7 @@ static void __percpu *pcpu_alloc(size_t size, size_t align, bool reserved)  	if (unlikely(align < 2))  		align = 2; -	if (unlikely(size & 1)) -		size++; +	size = ALIGN(size, 2);  	if (unlikely(!size || size > PCPU_MIN_UNIT_SIZE || align > PAGE_SIZE)) {  		WARN(true, "illegal size (%zu) or align (%zu) for " @@ -1933,6 +1932,8 @@ void __init setup_per_cpu_areas(void)  	if (pcpu_setup_first_chunk(ai, fc) < 0)  		panic("Failed to initialize percpu areas."); + +	pcpu_free_alloc_info(ai);  }  #endif	/* CONFIG_SMP */  |