Thread (8 messages) flat view 8 messages, 5 authors, 2019-12-11
STALE2456d

[PATCH v3 2/2] powerpc/shared: Use static key to detect shared processor

From: Srikar Dronamraju <hidden>
Date: 2019-12-05 08:37:09
Subsystem: linux for powerpc (32-bit and 64-bit), locking primitives, the rest · Maintainers: Madhavan Srinivasan, Peter Zijlstra, Ingo Molnar, Will Deacon, Boqun Feng, Linus Torvalds

With the static key shared processor available, is_shared_processor()
can return without having to query the lppaca structure.

Cc: Parth Shah <redacted>
Cc: Ihor Pasichnyk <redacted>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Phil Auld <redacted>
Cc: Waiman Long <longman@redhat.com>
Signed-off-by: Srikar Dronamraju <redacted>
---
Changelog v1 (https://patchwork.ozlabs.org/patch/1204192/) ->v2:
Now that we no more refer to lppaca, remove the comment.

Changelog v2->v3:
Code is now under CONFIG_PPC_SPLPAR as it depends on CONFIG_PPC_PSERIES.
This was suggested by Waiman Long.

 arch/powerpc/include/asm/spinlock.h | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/arch/powerpc/include/asm/spinlock.h b/arch/powerpc/include/asm/spinlock.h
index de817c25deff..e83d57f27566 100644
--- a/arch/powerpc/include/asm/spinlock.h
+++ b/arch/powerpc/include/asm/spinlock.h
@@ -111,13 +111,8 @@ static inline void splpar_rw_yield(arch_rwlock_t *lock) {};
 
 static inline bool is_shared_processor(void)
 {
-/*
- * LPPACA is only available on Pseries so guard anything LPPACA related to
- * allow other platforms (which include this common header) to compile.
- */
-#ifdef CONFIG_PPC_PSERIES
-	return (IS_ENABLED(CONFIG_PPC_SPLPAR) &&
-		lppaca_shared_proc(local_paca->lppaca_ptr));
+#ifdef CONFIG_PPC_SPLPAR
+	return static_branch_unlikely(&shared_processor);
 #else
 	return false;
 #endif
-- 
2.18.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help