linux/arch/powerpc
Anton Blanchard 714332858b powerpc: Restore correct DSCR in context switch
During a context switch we always restore the per thread DSCR value.
If we aren't doing explicit DSCR management
(ie thread.dscr_inherit == 0) and the default DSCR changed while
the process has been sleeping we end up with the wrong value.

Check thread.dscr_inherit and select the default DSCR or per thread
DSCR as required.

This was found with the following test case, when running with
more threads than CPUs (ie forcing context switching):

http://ozlabs.org/~anton/junkcode/dscr_default_test.c

With the four patches applied I can run a combination of all
test cases successfully at the same time:

http://ozlabs.org/~anton/junkcode/dscr_default_test.c
http://ozlabs.org/~anton/junkcode/dscr_explicit_test.c
http://ozlabs.org/~anton/junkcode/dscr_inherit_test.c

Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: <stable@kernel.org> # 3.0+
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-09-05 16:05:22 +10:00
..
boot powerpc/p4080ds: dts - add usb controller version info and port0 2012-08-10 07:47:02 -05:00
configs Revert "powerpc: Update g5_defconfig" 2012-08-24 20:55:55 +10:00
include/asm powerpc/powernv: Always go into nap mode when CPU is offline 2012-09-05 16:05:20 +10:00
kernel powerpc: Restore correct DSCR in context switch 2012-09-05 16:05:22 +10:00
kvm ppc: e500_tlb memset clears nothing 2012-08-16 14:14:53 +02:00
lib powerpc: Fix VMX in interrupt check in POWER7 copy loops 2012-08-24 20:26:09 +10:00
math-emu
mm powerpc/vphn: Fix arch_update_cpu_topology() return value 2012-09-05 16:05:19 +10:00
net powerpc: Start using ___PPC_RA/B/S/T where necessary 2012-07-10 19:18:25 +10:00
oprofile Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
perf powerpc/perf: Use pmc_overflow() to detect rolled back events 2012-08-24 20:26:10 +10:00
platforms powerpc/powernv: Always go into nap mode when CPU is offline 2012-09-05 16:05:20 +10:00
sysdev powerpc/mpic_msgr: Add missing includes 2012-08-24 20:26:04 +10:00
xmon powerpc: Fixup whitespace in xmon 2012-08-24 20:26:03 +10:00
Kconfig ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION 2012-07-30 17:25:21 -07:00
Kconfig.debug powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
Makefile crypto: nx - move nx build to driver/crypto Makefile 2012-06-27 14:42:00 +08:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00