tree.h (a2887cd85f38cf2fdbf42bad97e5c412d99ff5ca) tree.h (81ab59a3ad8656620d7106e855085bc12dc13a4c)
1/*
2 * Read-Copy Update mechanism for mutual exclusion (tree-based version)
3 * Internal non-public definitions.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.

--- 441 unchanged lines hidden (view full) ---

450static void rcu_qs(void);
451static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp);
452#ifdef CONFIG_HOTPLUG_CPU
453static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
454#endif /* #ifdef CONFIG_HOTPLUG_CPU */
455static void rcu_print_detail_task_stall(void);
456static int rcu_print_task_stall(struct rcu_node *rnp);
457static int rcu_print_task_exp_stall(struct rcu_node *rnp);
1/*
2 * Read-Copy Update mechanism for mutual exclusion (tree-based version)
3 * Internal non-public definitions.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.

--- 441 unchanged lines hidden (view full) ---

450static void rcu_qs(void);
451static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp);
452#ifdef CONFIG_HOTPLUG_CPU
453static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
454#endif /* #ifdef CONFIG_HOTPLUG_CPU */
455static void rcu_print_detail_task_stall(void);
456static int rcu_print_task_stall(struct rcu_node *rnp);
457static int rcu_print_task_exp_stall(struct rcu_node *rnp);
458static void rcu_preempt_check_blocked_tasks(struct rcu_state *rsp,
459 struct rcu_node *rnp);
458static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp);
460static void rcu_flavor_check_callbacks(int user);
461void call_rcu(struct rcu_head *head, rcu_callback_t func);
459static void rcu_flavor_check_callbacks(int user);
460void call_rcu(struct rcu_head *head, rcu_callback_t func);
462static void dump_blkd_tasks(struct rcu_state *rsp, struct rcu_node *rnp,
463 int ncheck);
461static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck);
464static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);
465static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
466static void invoke_rcu_callbacks_kthread(void);
467static bool rcu_is_callbacks_kthread(void);
468#ifdef CONFIG_RCU_BOOST
469static int rcu_spawn_one_boost_kthread(struct rcu_state *rsp,
470 struct rcu_node *rnp);
471#endif /* #ifdef CONFIG_RCU_BOOST */

--- 43 unchanged lines hidden ---
462static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);
463static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
464static void invoke_rcu_callbacks_kthread(void);
465static bool rcu_is_callbacks_kthread(void);
466#ifdef CONFIG_RCU_BOOST
467static int rcu_spawn_one_boost_kthread(struct rcu_state *rsp,
468 struct rcu_node *rnp);
469#endif /* #ifdef CONFIG_RCU_BOOST */

--- 43 unchanged lines hidden ---