With the static key shared processor available, is_shared_processor() can return without having to query the lppaca structure.
Cc: Parth Shah <pa...@linux.ibm.com> Cc: Ihor Pasichnyk <ihor.pasich...@ibm.com> Cc: Juri Lelli <juri.le...@redhat.com> Cc: Phil Auld <pa...@redhat.com> Cc: Waiman Long <long...@redhat.com> Signed-off-by: Srikar Dronamraju <sri...@linux.vnet.ibm.com> --- 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