diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-11-02 10:57:24 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-11-02 10:57:24 +0100 |
commit | 3357b0d3c7323d73806571192e9f633bb6ba3d54 (patch) | |
tree | a92fb225bfdda901783ad662a1fea0baddfb81e1 /kernel/rcu/sync.c | |
parent | 82c62fa0c49aa305104013cee4468772799bb391 (diff) | |
parent | e27c310af5c05cf876d9cad006928076c27f54d4 (diff) | |
download | linux-3357b0d3c7323d73806571192e9f633bb6ba3d54.tar.gz linux-3357b0d3c7323d73806571192e9f633bb6ba3d54.tar.bz2 linux-3357b0d3c7323d73806571192e9f633bb6ba3d54.zip |
Merge branch 'x86/mpx/prep' into x86/asm
Pick up some of the MPX commits that modify the syscall entry code,
to have a common base and to reduce conflicts.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
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) } /** + * rcu_sync_enter_start - Force readers onto slow path for multiple updates + * @rsp: Pointer to rcu_sync structure to use for synchronization + * * Must be called after rcu_sync_init() and before first use. * * Ensures rcu_sync_is_idle() returns false and rcu_sync_{enter,exit}() @@ -142,7 +145,7 @@ void rcu_sync_enter(struct rcu_sync *rsp) /** * rcu_sync_func() - Callback function managing reader access to fastpath - * @rsp: Pointer to rcu_sync structure to use for synchronization + * @rhp: Pointer to rcu_head in rcu_sync structure to use for synchronization * * This function is passed to one of the call_rcu() functions by * 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) * rcu_sync_exit(). Otherwise, set all state back to idle so that readers * can again use their fastpaths. */ -static void rcu_sync_func(struct rcu_head *rcu) +static void rcu_sync_func(struct rcu_head *rhp) { - struct rcu_sync *rsp = container_of(rcu, struct rcu_sync, cb_head); + struct rcu_sync *rsp = container_of(rhp, struct rcu_sync, cb_head); unsigned long flags; BUG_ON(rsp->gp_state != GP_PASSED); |