rcu_node
Regular
4.4
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gpnum;
long unsigned int completed;
long unsigned int qsmask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_tasks_boosted;
long unsigned int n_exp_boosts;
long unsigned int n_normal_boosts;
long unsigned int n_balk_blkd_tasks;
long unsigned int n_balk_exp_gp_tasks;
long unsigned int n_balk_boost_tasks;
long unsigned int n_balk_notblocked;
long unsigned int n_balk_notyet;
long unsigned int n_balk_nos;
int need_future_gp[2];
raw_spinlock_t fqslock;
struct mutex exp_funnel_mutex;
};
4.8
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gpnum;
long unsigned int completed;
long unsigned int qsmask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_tasks_boosted;
long unsigned int n_exp_boosts;
long unsigned int n_normal_boosts;
long unsigned int n_balk_blkd_tasks;
long unsigned int n_balk_exp_gp_tasks;
long unsigned int n_balk_boost_tasks;
long unsigned int n_balk_notblocked;
long unsigned int n_balk_notyet;
long unsigned int n_balk_nos;
int need_future_gp[2];
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
};
4.10
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gpnum;
long unsigned int completed;
long unsigned int qsmask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_tasks_boosted;
long unsigned int n_exp_boosts;
long unsigned int n_normal_boosts;
long unsigned int n_balk_blkd_tasks;
long unsigned int n_balk_exp_gp_tasks;
long unsigned int n_balk_boost_tasks;
long unsigned int n_balk_notblocked;
long unsigned int n_balk_notyet;
long unsigned int n_balk_nos;
int need_future_gp[2];
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
};
4.13
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gpnum;
long unsigned int completed;
long unsigned int qsmask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_tasks_boosted;
long unsigned int n_exp_boosts;
long unsigned int n_normal_boosts;
int need_future_gp[2];
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
};
4.15
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gpnum;
long unsigned int completed;
long unsigned int qsmask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_tasks_boosted;
long unsigned int n_exp_boosts;
long unsigned int n_normal_boosts;
int need_future_gp[2];
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
};
4.18
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gpnum;
long unsigned int completed;
long unsigned int qsmask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
u8 need_future_gp[4];
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
5.0
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
5.3
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
5.4
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
5.8
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int cbovldmask;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
5.11
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int ofl_seq;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int cbovldmask;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
5.13
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int ofl_seq;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int cbovldmask;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
5.15
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int ofl_seq;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int cbovldmask;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_boosts;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
5.19
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int cbovldmask;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct mutex boost_kthread_mutex;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_boosts;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
6.2
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int cbovldmask;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct mutex boost_kthread_mutex;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_boosts;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
raw_spinlock_t exp_poll_lock;
long unsigned int exp_seq_poll_rq;
struct work_struct exp_poll_wq;
};
6.5
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int cbovldmask;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct mutex boost_kthread_mutex;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_boosts;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
raw_spinlock_t exp_poll_lock;
long unsigned int exp_seq_poll_rq;
struct work_struct exp_poll_wq;
};
6.8
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int cbovldmask;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct mutex boost_kthread_mutex;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
long unsigned int n_boosts;
struct swait_queue_head nocb_gp_wq[2];
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
raw_spinlock_t exp_poll_lock;
long unsigned int exp_seq_poll_rq;
struct work_struct exp_poll_wq;
};
arm64
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
armhf
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
ppc64el
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
riscv64
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
aws
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
azure
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
struct swait_queue_head nocb_gp_wq[2];
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
gcp
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
lowlatency
: ✅struct rcu_node {
raw_spinlock_t lock;
long unsigned int gp_seq;
long unsigned int gp_seq_needed;
long unsigned int completedqs;
long unsigned int qsmask;
long unsigned int rcu_gp_init_mask;
long unsigned int qsmaskinit;
long unsigned int qsmaskinitnext;
long unsigned int expmask;
long unsigned int expmaskinit;
long unsigned int expmaskinitnext;
long unsigned int ffmask;
long unsigned int grpmask;
int grplo;
int grphi;
u8 grpnum;
u8 level;
bool wait_blkd_tasks;
struct rcu_node *parent;
struct list_head blkd_tasks;
struct list_head *gp_tasks;
struct list_head *exp_tasks;
struct list_head *boost_tasks;
struct rt_mutex boost_mtx;
long unsigned int boost_time;
struct task_struct *boost_kthread_task;
unsigned int boost_kthread_status;
raw_spinlock_t fqslock;
spinlock_t exp_lock;
long unsigned int exp_seq_rq;
wait_queue_head_t exp_wq[4];
struct rcu_exp_work rew;
bool exp_need_flush;
};
Regular
4.4
and 4.8
⚠️spinlock_t exp_lock
long unsigned int exp_seq_rq
wait_queue_head_t exp_wq[4]
struct mutex exp_funnel_mutex
4.8
and 4.10
✅
4.10
and 4.13
⚠️long unsigned int n_balk_blkd_tasks
long unsigned int n_balk_exp_gp_tasks
long unsigned int n_balk_boost_tasks
long unsigned int n_balk_notblocked
long unsigned int n_balk_notyet
long unsigned int n_balk_nos
4.13
and 4.15
⚠️long unsigned int ffmask
4.15
and 4.18
⚠️struct rcu_exp_work rew
bool exp_need_flush
long unsigned int n_tasks_boosted
long unsigned int n_exp_boosts
long unsigned int n_normal_boosts
int need_future_gp[2]
➡️ u8 need_future_gp[4]
4.18
and 5.0
⚠️long unsigned int gp_seq
long unsigned int gp_seq_needed
long unsigned int completedqs
long unsigned int rcu_gp_init_mask
long unsigned int gpnum
long unsigned int completed
u8 need_future_gp[4]
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
⚠️long unsigned int cbovldmask
5.8
and 5.11
⚠️long unsigned int ofl_seq
5.11
and 5.13
✅
5.13
and 5.15
⚠️long unsigned int n_boosts
5.15
and 5.19
⚠️struct mutex boost_kthread_mutex
long unsigned int ofl_seq
5.19
and 6.2
⚠️raw_spinlock_t exp_poll_lock
long unsigned int exp_seq_poll_rq
struct work_struct exp_poll_wq
6.2
and 6.5
✅
6.5
and 6.8
⚠️struct swait_queue_head nocb_gp_wq[2]
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
⚠️struct swait_queue_head nocb_gp_wq[2]
generic
and gcp
✅
generic
and lowlatency
✅