[v4,0/3] Fix oops in shared-processor spinlocks
mbox series

Message ID 20190813031314.1828-1-cmr@informatik.wtf
Headers show
Series
  • Fix oops in shared-processor spinlocks
Related show

Message

Christopher M. Riedl Aug. 13, 2019, 3:13 a.m. UTC
Fixes an oops when calling the shared-processor spinlock implementation
from a non-SP LPAR. Also take this opportunity to refactor
SHARED_PROCESSOR a bit.

Reference:  https://github.com/linuxppc/issues/issues/229

Changes since v3:
 - Replace CONFIG_BOOK3S #ifdef with CONFIG_PPC_PSERIES in
   is_shared_processor() to fix compile error reported by 0day-ci

Changes since v2:
 - Directly call splpar_*_yield() to avoid duplicate call to
   is_shared_processor() in some cases

Changes since v1:
 - Improve comment wording to make it clear why the BOOK3S #ifdef is
   required in is_shared_processor() in spinlock.h
 - Replace empty #define of splpar_*_yield() with actual functions with
   empty bodies

Christopher M. Riedl (3):
  powerpc/spinlocks: Refactor SHARED_PROCESSOR
  powerpc/spinlocks: Rename SPLPAR-only spinlocks
  powerpc/spinlocks: Fix oops in shared-processor spinlocks

 arch/powerpc/include/asm/spinlock.h | 62 +++++++++++++++++++++--------
 arch/powerpc/lib/locks.c            |  6 +--
 2 files changed, 48 insertions(+), 20 deletions(-)