Linux Kernel
3.7.1
|
#include <linux/cache.h>
#include <linux/spinlock.h>
#include <linux/threads.h>
#include <linux/cpumask.h>
#include <linux/seqlock.h>
Go to the source code of this file.
Data Structures | |
struct | rcu_dynticks |
struct | rcu_node |
struct | rcu_data |
struct | rcu_state |
Macros | |
#define | MAX_RCU_LVLS 4 |
#define | RCU_FANOUT_1 (CONFIG_RCU_FANOUT_LEAF) |
#define | RCU_FANOUT_2 (RCU_FANOUT_1 * CONFIG_RCU_FANOUT) |
#define | RCU_FANOUT_3 (RCU_FANOUT_2 * CONFIG_RCU_FANOUT) |
#define | RCU_FANOUT_4 (RCU_FANOUT_3 * CONFIG_RCU_FANOUT) |
#define | RCU_NUM_LVLS 1 |
#define | NUM_RCU_LVL_0 1 |
#define | NUM_RCU_LVL_1 (NR_CPUS) |
#define | NUM_RCU_LVL_2 0 |
#define | NUM_RCU_LVL_3 0 |
#define | NUM_RCU_LVL_4 0 |
#define | RCU_SUM (NUM_RCU_LVL_0 + NUM_RCU_LVL_1 + NUM_RCU_LVL_2 + NUM_RCU_LVL_3 + NUM_RCU_LVL_4) |
#define | NUM_RCU_NODES (RCU_SUM - NR_CPUS) |
#define | RCU_KTHREAD_STOPPED 0 |
#define | RCU_KTHREAD_RUNNING 1 |
#define | RCU_KTHREAD_WAITING 2 |
#define | RCU_KTHREAD_OFFCPU 3 |
#define | RCU_KTHREAD_YIELDING 4 |
#define | RCU_KTHREAD_MAX 4 |
#define | rcu_for_each_node_breadth_first(rsp, rnp) |
#define | rcu_for_each_nonleaf_node_breadth_first(rsp, rnp) |
#define | rcu_for_each_leaf_node(rsp, rnp) |
#define | RCU_DONE_TAIL 0 /* Also RCU_WAIT head. */ |
#define | RCU_WAIT_TAIL 1 /* Also RCU_NEXT_READY head. */ |
#define | RCU_NEXT_READY_TAIL 2 /* Also RCU_NEXT head. */ |
#define | RCU_NEXT_TAIL 3 |
#define | RCU_NEXT_SIZE 4 |
#define | RCU_GP_IDLE 0 /* No grace period in progress. */ |
#define | RCU_GP_INIT 1 /* Grace period being initialized. */ |
#define | RCU_SAVE_DYNTICK 2 /* Need to scan dyntick state. */ |
#define | RCU_FORCE_QS 3 /* Need to force quiescent state. */ |
#define | RCU_SIGNAL_INIT RCU_SAVE_DYNTICK |
#define | RCU_JIFFIES_TILL_FORCE_QS 3 /* for rsp->jiffies_force_qs */ |
#define | RCU_STALL_DELAY_DELTA 0 |
#define | RCU_STALL_RAT_DELAY 2 /* Allow other CPUs time */ |
#define | rcu_wait(cond) |
#define | RCU_GP_FLAG_INIT 0x1 /* Need grace-period initialization. */ |
#define | RCU_GP_FLAG_FQS 0x2 /* Need grace-period quiescent-state forcing. */ |
#define | for_each_rcu_flavor(rsp) list_for_each_entry((rsp), &rcu_struct_flavors, flavors) |
#define | RCU_OFL_TASKS_NORM_GP 0x1 /* Tasks blocking normal */ |
#define | RCU_OFL_TASKS_EXP_GP 0x2 /* Tasks blocking expedited */ |
Functions | |
DECLARE_PER_CPU (struct rcu_data, rcu_sched_data) | |
DECLARE_PER_CPU (struct rcu_data, rcu_bh_data) | |
long | rcu_batches_completed (void) |
void | call_rcu (struct rcu_head *head, void(*func)(struct rcu_head *rcu)) |
Variables | |
int | rcu_num_lvls |
int | rcu_num_nodes |
struct rcu_node | ____cacheline_internodealigned_in_smp |
struct list_head | rcu_struct_flavors |
struct rcu_state | rcu_sched_state |
struct rcu_state | rcu_bh_state |
#define for_each_rcu_flavor | ( | rsp | ) | list_for_each_entry((rsp), &rcu_struct_flavors, flavors) |
#define RCU_FANOUT_2 (RCU_FANOUT_1 * CONFIG_RCU_FANOUT) |
#define RCU_FANOUT_3 (RCU_FANOUT_2 * CONFIG_RCU_FANOUT) |
#define RCU_FANOUT_4 (RCU_FANOUT_3 * CONFIG_RCU_FANOUT) |
#define rcu_for_each_leaf_node | ( | rsp, | |
rnp | |||
) |
#define rcu_for_each_node_breadth_first | ( | rsp, | |
rnp | |||
) |
#define rcu_for_each_nonleaf_node_breadth_first | ( | rsp, | |
rnp | |||
) |
#define RCU_FORCE_QS 3 /* Need to force quiescent state. */ |
#define RCU_GP_FLAG_FQS 0x2 /* Need grace-period quiescent-state forcing. */ |
#define RCU_GP_FLAG_INIT 0x1 /* Need grace-period initialization. */ |
#define RCU_GP_INIT 1 /* Grace period being initialized. */ |
#define RCU_OFL_TASKS_EXP_GP 0x2 /* Tasks blocking expedited */ |
#define RCU_OFL_TASKS_NORM_GP 0x1 /* Tasks blocking normal */ |
#define RCU_SAVE_DYNTICK 2 /* Need to scan dyntick state. */ |
#define RCU_SIGNAL_INIT RCU_SAVE_DYNTICK |
#define RCU_SUM (NUM_RCU_LVL_0 + NUM_RCU_LVL_1 + NUM_RCU_LVL_2 + NUM_RCU_LVL_3 + NUM_RCU_LVL_4) |
#define rcu_wait | ( | cond | ) |
Definition at line 909 of file rcutree_plugin.h.
int rcu_num_lvls |
int rcu_num_nodes |