powerpc: Per process DSCR + some fixes (try#4)
authorAlexey Kardashevskiy <aik@au1.ibm.com>
Wed, 2 Mar 2011 15:18:48 +0000 (15:18 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 27 Apr 2011 04:18:19 +0000 (14:18 +1000)
commitefcac6589a277c10060e4be44b9455cf43838dc1
treed2236c1e9385baff297f0652c5a22b74f6acb149
parentf0aae3238fc1c28b543cbaaa0e7c5d57685f5f89
powerpc: Per process DSCR + some fixes (try#4)

The DSCR (aka Data Stream Control Register) is supported on some
server PowerPC chips and allow some control over the prefetch
of data streams.

This patch allows the value to be specified per thread by emulating
the corresponding mfspr and mtspr instructions. Children of such
threads inherit the value. Other threads use a default value that
can be specified in sysfs - /sys/devices/system/cpu/dscr_default.

If a thread starts with non default value in the sysfs entry,
all children threads inherit this non default value even if
the sysfs value is changed later.

Signed-off-by: Alexey Kardashevskiy <aik@au1.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/emulated_ops.h
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/include/asm/processor.h
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/entry_64.S
arch/powerpc/kernel/process.c
arch/powerpc/kernel/sysfs.c
arch/powerpc/kernel/traps.c