diff options
Diffstat (limited to 'kernel/rcu/sync.c')
| -rw-r--r-- | kernel/rcu/sync.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/rcu/sync.c b/kernel/rcu/sync.c index 50d1861f7759..3f943efcf61c 100644 --- a/kernel/rcu/sync.c +++ b/kernel/rcu/sync.c | |||
| @@ -85,6 +85,9 @@ void rcu_sync_init(struct rcu_sync *rsp, enum rcu_sync_type type) | |||
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | /** | 87 | /** |
| 88 | * rcu_sync_enter_start - Force readers onto slow path for multiple updates | ||
| 89 | * @rsp: Pointer to rcu_sync structure to use for synchronization | ||
| 90 | * | ||
| 88 | * Must be called after rcu_sync_init() and before first use. | 91 | * Must be called after rcu_sync_init() and before first use. |
| 89 | * | 92 | * |
| 90 | * Ensures rcu_sync_is_idle() returns false and rcu_sync_{enter,exit}() | 93 | * Ensures rcu_sync_is_idle() returns false and rcu_sync_{enter,exit}() |
| @@ -142,7 +145,7 @@ void rcu_sync_enter(struct rcu_sync *rsp) | |||
| 142 | 145 | ||
| 143 | /** | 146 | /** |
| 144 | * rcu_sync_func() - Callback function managing reader access to fastpath | 147 | * rcu_sync_func() - Callback function managing reader access to fastpath |
| 145 | * @rsp: Pointer to rcu_sync structure to use for synchronization | 148 | * @rhp: Pointer to rcu_head in rcu_sync structure to use for synchronization |
| 146 | * | 149 | * |
| 147 | * This function is passed to one of the call_rcu() functions by | 150 | * This function is passed to one of the call_rcu() functions by |
| 148 | * rcu_sync_exit(), so that it is invoked after a grace period following the | 151 | * rcu_sync_exit(), so that it is invoked after a grace period following the |
| @@ -158,9 +161,9 @@ void rcu_sync_enter(struct rcu_sync *rsp) | |||
| 158 | * rcu_sync_exit(). Otherwise, set all state back to idle so that readers | 161 | * rcu_sync_exit(). Otherwise, set all state back to idle so that readers |
| 159 | * can again use their fastpaths. | 162 | * can again use their fastpaths. |
| 160 | */ | 163 | */ |
| 161 | static void rcu_sync_func(struct rcu_head *rcu) | 164 | static void rcu_sync_func(struct rcu_head *rhp) |
| 162 | { | 165 | { |
| 163 | struct rcu_sync *rsp = container_of(rcu, struct rcu_sync, cb_head); | 166 | struct rcu_sync *rsp = container_of(rhp, struct rcu_sync, cb_head); |
| 164 | unsigned long flags; | 167 | unsigned long flags; |
| 165 | 168 | ||
| 166 | BUG_ON(rsp->gp_state != GP_PASSED); | 169 | BUG_ON(rsp->gp_state != GP_PASSED); |
