[PATCH 0/3] powerpc: fix regression of per-CPU DSCR setting
Sam Bobroff
sam.bobroff at au1.ibm.com
Wed May 21 16:32:36 EST 2014
Hello,
This patch corrects a regression on PowerPC CPUs that causes their
per-CPU DSCR SPR value (exposed via /sys/devices/system/cpuN/dscr) to
be quickly lost during context switching, effectively meaning that the
DSCR can no longer be set on a per-CPU basis.
My intent is to restore the functionality of the per-CPU value in a
way that is compatible with the newer global default and task-specific
DSCR setting system. Users of either the old or new systems should
now get pretty much what they expect.
A couple of notes:
I've split an existing "ifdef CONFIG_PPC_STD_MMU_64" block in
paca_struct into two parts because it allows dscr_default to be placed
into a cache line hole. (This seems be the case even without
CONFIG_PPC_STD_MMU_64 being defined.) Comments or ideas on alternative
placements are welcome.
PowerPC context switching is touched but there should not be any
performance cost; if anything it should get slightly faster due to the
per-CPU value being easier to access than the old global default.
Sam Bobroff (3):
powerpc: Split __SYSFS_SPRSETUP macro
powerpc: fix regression of per-CPU DSCR setting
powerpc: Document sysfs DSCR interface
Documentation/ABI/stable/sysfs-devices-system-cpu | 25 ++++++++++
arch/powerpc/include/asm/paca.h | 3 ++
arch/powerpc/kernel/asm-offsets.c | 1 +
arch/powerpc/kernel/entry_64.S | 9 +---
arch/powerpc/kernel/sysfs.c | 51 +++++++++++++--------
arch/powerpc/kernel/tm.S | 16 ++-----
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 3 +-
7 files changed, 67 insertions(+), 41 deletions(-)
create mode 100644 Documentation/ABI/stable/sysfs-devices-system-cpu
--
1.7.10.4
More information about the Linuxppc-dev
mailing list