Introduce a separate initialization of kvfree_rcu() functionality.
For such purpose a kfree_rcu_batch_init() is renamed to a kvfree_rcu_init()
and it is invoked from the main.c right after rcu_init() is done.
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Acked-by: Hyeonggon Yoo <hyeonggon.yoo@sk.com>
Tested-by: Hyeonggon Yoo <hyeonggon.yoo@sk.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
/* Internal to kernel */
void rcu_init(void);
+void __init kvfree_rcu_init(void);
extern int rcu_scheduler_active;
void rcu_sched_clock_irq(int user);
workqueue_init_early();
rcu_init();
+ kvfree_rcu_init();
/* Trace events are available after this */
trace_init();
struct workqueue_struct *rcu_gp_wq;
-static void __init kfree_rcu_batch_init(void)
+void __init kvfree_rcu_init(void)
{
int cpu;
int i, j;
rcu_early_boot_tests();
- kfree_rcu_batch_init();
rcu_bootup_announce();
sanitize_kthread_prio();
rcu_init_geometry();