linux/arch/powerpc/kernel
Michael Neuling e9bdc3d614 powerpc/tm: Switch out userspace PPR and DSCR sooner
When we do a treclaim or trecheckpoint we end up running with userspace
PPR and DSCR values.  Currently we don't do anything special to avoid
running with user values which could cause a severe performance
degradation.

This patch moves the PPR and DSCR save and restore around treclaim and
trecheckpoint so that we run with user values for a much shorter period.
More care is taken with the PPR as it's impact is greater than the DSCR.

This is similar to user exceptions, where we run HTM_MEDIUM early to
ensure that we don't run with a userspace PPR values in the kernel.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Cc: <stable@vger.kernel.org> # 3.9+
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-10-03 17:25:51 +10:00
..
vdso32 powerpc: Convert some mftb/mftbu into mfspr 2013-08-20 19:33:12 -05:00
vdso64
.gitignore
align.c powerpc: Never handle VSX alignment exceptions from kernel 2013-08-27 14:44:26 +10:00
asm-offsets.c powerpc: Remove ksp_limit on ppc64 2013-09-25 14:15:51 +10:00
audit.c
btext.c powerpc/btext: Fix CONFIG_PPC_EARLY_DEBUG_BOOTX on ppc32 2013-08-27 16:01:23 +10:00
cacheinfo.c powerpc: Make device tree accesses in cache info code endian safe 2013-08-14 15:33:27 +10:00
cacheinfo.h
clock.c
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_a2.S
cpu_setup_fsl_booke.S powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx 2013-07-30 15:50:07 -05:00
cpu_setup_pa6t.S
cpu_setup_power.S
cpu_setup_ppc970.S
cputable.c Merge remote-tracking branch 'scott/next' into next 2013-08-09 16:01:40 +10:00
crash_dump.c
crash.c
dbell.c
dma-iommu.c
dma-swiotlb.c
dma.c
eeh_cache.c
eeh_dev.c
eeh_driver.c powerpc/eeh: Fix unbalanced enable for IRQ 2013-07-24 14:18:49 +10:00
eeh_event.c
eeh_pe.c powerpc/eeh: Don't use pci_dev during BAR restore 2013-07-24 14:18:49 +10:00
eeh_sysfs.c powerpc/eeh: Introdce flag to protect sysfs 2013-07-24 14:18:49 +10:00
eeh.c powerpc/eeh: Add missing procfs entry for PowerNV 2013-08-09 18:06:47 +10:00
entry_32.S
entry_64.S powerpc: Cleanup handling of the DSCR bit in the FSCR register 2013-08-27 15:05:22 +10:00
epapr_hcalls.S
epapr_paravirt.c powerpc/85xx: Move ePAPR paravirt initialization earlier 2013-08-07 18:38:06 -05:00
exceptions-64e.S powerpc/ppc64: Rename SOFT_DISABLE_INTS with RECONCILE_IRQ_STATE 2013-08-14 14:57:47 +10:00
exceptions-64s.S Merge branch 'merge' into next 2013-08-27 15:03:30 +10:00
fadump.c
firmware.c
fpu.S
fsl_booke_entry_mapping.S
ftrace.c
head_8xx.S powerpc: Remove the empty giveup_fpu() function on 32bit kernel 2013-08-14 14:59:50 +10:00
head_32.S
head_40x.S powerpc: Remove the empty giveup_fpu() function on 32bit kernel 2013-08-14 14:59:50 +10:00
head_44x.S powerpc: Remove the empty giveup_fpu() function on 32bit kernel 2013-08-14 14:59:50 +10:00
head_64.S powerpc: Align p_toc 2013-08-14 11:50:19 +10:00
head_booke.h
head_fsl_booke.S powerpc: Remove the empty giveup_fpu() function on 32bit kernel 2013-08-14 14:59:50 +10:00
hw_breakpoint.c
ibmebus.c
idle_6xx.S
idle_book3e.S
idle_e500.S
idle_power4.S
idle_power7.S
idle.c
io-workarounds.c powerpc: Better split CONFIG_PPC_INDIRECT_PIO and CONFIG_PPC_INDIRECT_MMIO 2013-08-14 14:57:50 +10:00
io.c powerpc/powernv: Add PIO accessors for Power8 LPC bus 2013-08-14 14:58:08 +10:00
iomap.c
iommu.c powerpc/iommu: Use GFP_KERNEL instead of GFP_ATOMIC in iommu_init_table() 2013-10-03 17:24:44 +10:00
irq.c powerpc: Remove ksp_limit on ppc64 2013-09-25 14:15:51 +10:00
isa-bridge.c
jump_label.c
kgdb.c
kprobes.c
kvm_emul.S
kvm.c
l2cr_6xx.S
legacy_serial.c powerpc: Little endian fixes for legacy_serial.c 2013-08-14 15:33:32 +10:00
machine_kexec_32.c
machine_kexec_64.c
machine_kexec.c
Makefile powerpc/pseries: Move lparcfg.c to platforms/pseries 2013-08-28 11:20:54 +10:00
misc_32.S powerpc: Remove ksp_limit on ppc64 2013-09-25 14:15:51 +10:00
misc_64.S powerpc/irq: Run softirqs off the top of the irq stack 2013-09-25 14:15:36 +10:00
misc.S
module_32.c
module_64.c
module.c
msi.c
nvram_64.c
of_platform.c
paca.c powerpc: Fix little endian lppaca, slb_shadow and dtl_entry 2013-08-14 15:33:35 +10:00
pci_32.c
pci_64.c powerpc/pci: Don't use bitfield for force_32bit_msi 2013-08-14 11:50:25 +10:00
pci_dn.c powerpc: Make PCI device node device tree accesses endian safe 2013-08-14 15:33:31 +10:00
pci_of_scan.c powerpc: Make OF PCI device tree accesses endian safe 2013-08-14 15:33:30 +10:00
pci-common.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-09-06 10:49:42 -07:00
pci-hotplug.c powerpc/pci: Partial tree hotplug support 2013-07-24 14:18:48 +10:00
pmc.c
ppc32.h
ppc_ksyms.c powerpc: Remove the empty giveup_fpu() function on 32bit kernel 2013-08-14 14:59:50 +10:00
ppc_save_regs.S
proc_powerpc.c
process.c powerpc: Remove ksp_limit on ppc64 2013-09-25 14:15:51 +10:00
prom_init_check.sh powerpc/pmac: Early debug output on screen on 64-bit macs 2013-08-14 14:57:40 +10:00
prom_init.c powerpc/pseries: Do not start secondaries in Open Firmware 2013-09-25 14:19:00 +10:00
prom_parse.c powerpc: of_parse_dma_window should take a __be32 *dma_window 2013-08-14 15:33:26 +10:00
prom.c Device tree core updates for v3.12 2013-09-10 13:53:52 -07:00
ptrace32.c
ptrace.c
reloc_32.S
reloc_64.S
rtas_flash.c
rtas_pci.c
rtas-proc.c
rtas-rtc.c
rtas.c powerpc: Make RTAS calls endian safe 2013-08-14 15:33:22 +10:00
rtasd.c
setup_32.c powerpc/85xx: Move ePAPR paravirt initialization earlier 2013-08-07 18:38:06 -05:00
setup_64.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-09-06 10:49:42 -07:00
setup-common.c powerpc: More little endian fixes for setup-common.c 2013-08-14 15:33:24 +10:00
setup.h
signal_32.c powerpc: Fix VRSAVE handling 2013-08-14 14:57:18 +10:00
signal_64.c powerpc: Remove the redundant flush_fp_to_thread() in setup_sigcontext() 2013-08-14 14:59:38 +10:00
signal.c
signal.h
smp-tbsync.c
smp.c powerpc: Export cpu_to_chip_id() to fix build error 2013-09-11 11:39:37 +10:00
stacktrace.c
suspend.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S powerpc: add Book E support to 64-bit hibernation 2013-08-23 19:39:26 -05:00
swsusp_booke.S powerpc/mpc85xx: invalidate TLB after hibernation resume 2013-07-30 15:50:08 -05:00
swsusp.c
sys_ppc32.c
syscalls.c
sysfs.c powerpc/sysfs: Disable writing to PURR in guest mode 2013-10-03 17:22:53 +10:00
systbl_chk.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-09-06 10:49:42 -07:00
tm.S powerpc/tm: Switch out userspace PPR and DSCR sooner 2013-10-03 17:25:51 +10:00
traps.c powerpc: Cleanup handling of the DSCR bit in the FSCR register 2013-08-27 15:05:22 +10:00
udbg_16550.c powerpc/wsp: Fix early debug build 2013-08-16 10:59:27 +10:00
udbg.c
uprobes.c
vdso.c
vecemu.c
vector.S
vio.c powerpc/vio: Fix modalias_show return values 2013-10-03 17:25:16 +10:00
vmlinux.lds.S