Messages in this thread Patch in this message | | | Date | Thu, 18 Jan 2018 18:33:43 +0800 | From | "Liu, Changcheng" <> | Subject | [PATCH] rcu: refine structure rcu_node field for rcu boost |
| |
Do not allocate space for rcu boost field when RCU BOOST is not configured.
Signed-off-by: Liu Changcheng <changcheng.liu@intel.com>
diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index 46a5d19..88f087e 100644 --- a/kernel/rcu/tree.h +++ b/kernel/rcu/tree.h @@ -129,6 +129,7 @@ struct rcu_node { /* if there is no such task. If there */ /* is no current expedited grace period, */ /* then there can cannot be any such task. */ +#ifdef CONFIG_RCU_BOOST struct list_head *boost_tasks; /* Pointer to first task that needs to be */ /* priority boosted, or NULL if no priority */ @@ -153,6 +154,8 @@ struct rcu_node { /* Number of tasks boosted for expedited GP. */ unsigned long n_normal_boosts; /* Number of tasks boosted for normal GP. */ +#endif/* #ifdef CONFIG_RCU_BOOST*/ + #ifdef CONFIG_RCU_NOCB_CPU struct swait_queue_head nocb_gp_wq[2]; /* Place for rcu_nocb_kthread() to wait GP. */ diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index db85ca3..fee0b1e 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -506,8 +506,10 @@ void rcu_read_unlock_special(struct task_struct *t) if (IS_ENABLED(CONFIG_RCU_BOOST)) { /* Snapshot ->boost_mtx ownership w/rnp->lock held. */ drop_boost_mutex = rt_mutex_owner(&rnp->boost_mtx) == t; +#ifdef CONFIG_RCU_BOOST if (&t->rcu_node_entry == rnp->boost_tasks) rnp->boost_tasks = np; +#endif } /* -- 2.7.4
| |