rcu_nodeRegular
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 ✅