.. | .. |
---|
413 | 413 | */ |
---|
414 | 414 | extern struct rcu_state rcu_sched_state; |
---|
415 | 415 | |
---|
| 416 | +#ifndef CONFIG_PREEMPT_RT_FULL |
---|
416 | 417 | extern struct rcu_state rcu_bh_state; |
---|
| 418 | +#endif |
---|
417 | 419 | |
---|
418 | 420 | #ifdef CONFIG_PREEMPT_RCU |
---|
419 | 421 | extern struct rcu_state rcu_preempt_state; |
---|
.. | .. |
---|
421 | 423 | |
---|
422 | 424 | int rcu_dynticks_snap(struct rcu_dynticks *rdtp); |
---|
423 | 425 | |
---|
424 | | -#ifdef CONFIG_RCU_BOOST |
---|
425 | 426 | DECLARE_PER_CPU(unsigned int, rcu_cpu_kthread_status); |
---|
426 | 427 | DECLARE_PER_CPU(int, rcu_cpu_kthread_cpu); |
---|
427 | 428 | DECLARE_PER_CPU(unsigned int, rcu_cpu_kthread_loops); |
---|
428 | 429 | DECLARE_PER_CPU(char, rcu_cpu_has_work); |
---|
429 | | -#endif /* #ifdef CONFIG_RCU_BOOST */ |
---|
430 | 430 | |
---|
431 | 431 | #ifndef RCU_TREE_NONCORE |
---|
432 | 432 | |
---|
.. | .. |
---|
449 | 449 | int ncheck); |
---|
450 | 450 | static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags); |
---|
451 | 451 | static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); |
---|
452 | | -static void invoke_rcu_callbacks_kthread(void); |
---|
453 | 452 | static bool rcu_is_callbacks_kthread(void); |
---|
| 453 | +static void rcu_cpu_kthread_setup(unsigned int cpu); |
---|
454 | 454 | #ifdef CONFIG_RCU_BOOST |
---|
455 | 455 | static int rcu_spawn_one_boost_kthread(struct rcu_state *rsp, |
---|
456 | 456 | struct rcu_node *rnp); |
---|