mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
rcu: Consolidate rcu_synchronize and wakeme_after_rcu()
There are currently duplicate identical definitions of the rcu_synchronize() structure and the wakeme_after_rcu() function. Thie commit therefore consolidates them. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
c517d838eb
commit
ee376dbdf2
@ -195,6 +195,15 @@ void call_rcu_sched(struct rcu_head *head,
|
|||||||
|
|
||||||
void synchronize_sched(void);
|
void synchronize_sched(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Structure allowing asynchronous waiting on RCU.
|
||||||
|
*/
|
||||||
|
struct rcu_synchronize {
|
||||||
|
struct rcu_head head;
|
||||||
|
struct completion completion;
|
||||||
|
};
|
||||||
|
void wakeme_after_rcu(struct rcu_head *head);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* call_rcu_tasks() - Queue an RCU for invocation task-based grace period
|
* call_rcu_tasks() - Queue an RCU for invocation task-based grace period
|
||||||
* @head: structure to be used for queueing the RCU updates.
|
* @head: structure to be used for queueing the RCU updates.
|
||||||
|
@ -402,23 +402,6 @@ void call_srcu(struct srcu_struct *sp, struct rcu_head *head,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(call_srcu);
|
EXPORT_SYMBOL_GPL(call_srcu);
|
||||||
|
|
||||||
struct rcu_synchronize {
|
|
||||||
struct rcu_head head;
|
|
||||||
struct completion completion;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Awaken the corresponding synchronize_srcu() instance now that a
|
|
||||||
* grace period has elapsed.
|
|
||||||
*/
|
|
||||||
static void wakeme_after_rcu(struct rcu_head *head)
|
|
||||||
{
|
|
||||||
struct rcu_synchronize *rcu;
|
|
||||||
|
|
||||||
rcu = container_of(head, struct rcu_synchronize, head);
|
|
||||||
complete(&rcu->completion);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void srcu_advance_batches(struct srcu_struct *sp, int trycount);
|
static void srcu_advance_batches(struct srcu_struct *sp, int trycount);
|
||||||
static void srcu_reschedule(struct srcu_struct *sp);
|
static void srcu_reschedule(struct srcu_struct *sp);
|
||||||
|
|
||||||
|
@ -199,16 +199,13 @@ EXPORT_SYMBOL_GPL(rcu_read_lock_bh_held);
|
|||||||
|
|
||||||
#endif /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
|
#endif /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
|
||||||
|
|
||||||
struct rcu_synchronize {
|
/**
|
||||||
struct rcu_head head;
|
* wakeme_after_rcu() - Callback function to awaken a task after grace period
|
||||||
struct completion completion;
|
* @head: Pointer to rcu_head member within rcu_synchronize structure
|
||||||
};
|
*
|
||||||
|
* Awaken the corresponding task now that a grace period has elapsed.
|
||||||
/*
|
|
||||||
* Awaken the corresponding synchronize_rcu() instance now that a
|
|
||||||
* grace period has elapsed.
|
|
||||||
*/
|
*/
|
||||||
static void wakeme_after_rcu(struct rcu_head *head)
|
void wakeme_after_rcu(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct rcu_synchronize *rcu;
|
struct rcu_synchronize *rcu;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user