diff options
Diffstat (limited to 'arch/x86/kernel/setup_percpu.c')
| -rw-r--r-- | arch/x86/kernel/setup_percpu.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 35abcb8b00e9..ef6370b00e70 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c | |||
| @@ -137,7 +137,13 @@ static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align) | |||
| 137 | 137 | ||
| 138 | static void __init pcpu_fc_free(void *ptr, size_t size) | 138 | static void __init pcpu_fc_free(void *ptr, size_t size) |
| 139 | { | 139 | { |
| 140 | #ifdef CONFIG_NO_BOOTMEM | ||
| 141 | u64 start = __pa(ptr); | ||
| 142 | u64 end = start + size; | ||
| 143 | free_early_partial(start, end); | ||
| 144 | #else | ||
| 140 | free_bootmem(__pa(ptr), size); | 145 | free_bootmem(__pa(ptr), size); |
| 146 | #endif | ||
| 141 | } | 147 | } |
| 142 | 148 | ||
| 143 | static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) | 149 | static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) |
