percpu: generalize first chunk allocator selection
Now that all first chunk allocators are in mm/percpu.c, it makes sense to make generalize percpu_alloc kernel parameter. Define PCPU_FC_* and set pcpu_chosen_fc using early_param() in mm/percpu.c. Arch code can use the set value to determine which first chunk allocator to use. Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
@@ -59,6 +59,18 @@
|
||||
extern void *pcpu_base_addr;
|
||||
extern const int *pcpu_unit_map;
|
||||
|
||||
enum pcpu_fc {
|
||||
PCPU_FC_AUTO,
|
||||
PCPU_FC_EMBED,
|
||||
PCPU_FC_PAGE,
|
||||
PCPU_FC_LPAGE,
|
||||
|
||||
PCPU_FC_NR,
|
||||
};
|
||||
extern const char *pcpu_fc_names[PCPU_FC_NR];
|
||||
|
||||
extern enum pcpu_fc pcpu_chosen_fc;
|
||||
|
||||
typedef void * (*pcpu_fc_alloc_fn_t)(unsigned int cpu, size_t size);
|
||||
typedef void (*pcpu_fc_free_fn_t)(void *ptr, size_t size);
|
||||
typedef void (*pcpu_fc_populate_pte_fn_t)(unsigned long addr);
|
||||
|
Reference in New Issue
Block a user