linux_dsm_epyc7002/arch/powerpc/platforms
Nicholas Piggin 544686cae8 powerpc/64s: Stop using bit in HSPRG0 to test winkle
The POWER8 idle code has a neat trick of programming the power on engine
to restore a low bit into HSPRG0, so idle wakeup code can test and see
if it has been programmed this way and therefore lost all state. Restore
time can be reduced if winkle has not been reached.

However this messes with our r13 PACA pointer, and requires HSPRG0 to be
written to. It also optimizes the slowest and most uncommon case at the
expense of another SPR write in the common nap state wakeup.

Remove this complexity and assume winkle sleeps always require a state
restore. This speedup could be made entirely contained within the winkle
idle code by counting per-core winkles and setting a thread bitmap when
all have gone to winkle.

Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-04-23 20:31:39 +10:00
..
8xx powerpc/8xx: Implement support of hugepages 2016-12-09 22:49:07 -06:00
40x powerpc updates for 4.10 2016-12-16 09:26:42 -08:00
44x powerpc/4xx: Make sam440ep_setup_rtc() init 2017-03-31 23:09:40 +11:00
52xx powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
82xx powerpc/e8248e: Select PHYLIB only if NETDEVICES is enabled 2016-09-24 23:59:47 -05:00
83xx sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
85xx powerpc: Change the doorbell IPI calling convention 2017-04-13 23:34:33 +10:00
86xx powerpc: Convert fsl_rstcr_restart to a reset handler 2016-09-25 02:38:50 -05:00
512x powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
amigaone powerpc: Move 32-bit probe() machine to later in the boot process 2016-07-21 19:06:42 +10:00
cell powerpc: Create asm/debugfs.h and move powerpc_debugfs_root there 2017-04-11 07:46:03 +10:00
chrp Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
embedded6xx powerpc: Add support for relative exception tables 2016-11-14 11:11:51 +11:00
maple powerpc: Move isa bridge definitions to separate include 2017-01-31 13:54:17 +11:00
pasemi treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
powermac powerpc: Change the doorbell IPI calling convention 2017-04-13 23:34:33 +10:00
powernv powerpc/64s: Stop using bit in HSPRG0 to test winkle 2017-04-23 20:31:39 +10:00
ps3 treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
pseries powerpc/pseries: Always enable SMP when building pseries 2017-04-13 23:37:23 +10:00
fsl_uli1575.c of/irq: Refactor interrupt-map parsing 2013-10-24 11:43:04 +01:00
Kconfig powerpc/pseries: Move ibmebus.c into platforms pseries 2016-11-18 23:02:18 +11:00
Kconfig.cputype powerpc/64s: Remove ICSWX feature from Power9 2017-04-19 20:21:50 +10:00
Makefile powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00