linux_dsm_epyc7002/arch/powerpc
Gautham R Shenoy 6776426320 powerpc/pseries: Reduce the polling interval in __cpu_up()
Time time taken for a single cpu online operation on a pseries machine
is as follows:
Dedicated LPAR (POWER6): ~220ms.
Shared LPAR (POWER5)   : ~240ms.

Of this time, approximately 200ms is taken up by __cpu_up(). This is because
we poll every 200ms to check if the new cpu has notified it's presence
through the cpu_callin_map. We repeat this operation until the new cpu sets
the value in cpu_callin_map or 5 seconds elapse, whichever comes earlier.

However, using completion_structs instead of polling loops,
the time taken by the new processor to indicate it's presence has
found to be less than 1ms on pseries. This method however may not
work on all powerpc platforms due to the time-base synchronization code.

Keeping this in mind, we could reduce msleep polling interval from
200ms to 1ms while retaining the 5 second timeout.

With this, the time taken for a cpu online operation changes as follows:
Dedicated LPAR (POWER6): 20-25ms.
Shared LPAR (POWER5)   : 60-80ms.

In both these cases, it was found that the code polls through the loop
only once indicating that 1ms is a reasonable value, atleast on pseries.

The code needs testing on other powerpc platforms.

Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>
Acked-by: Joel Schopp <jschopp@austin.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-08-27 13:12:54 +10:00
..
boot powerpc: use consistent types in mktree 2009-08-20 10:29:30 +10:00
configs powerpc/40x: Update kilauea defconfig to support NAND, RTC and HWMON 2009-08-20 10:25:52 +10:00
include/asm powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
kernel powerpc/pseries: Reduce the polling interval in __cpu_up() 2009-08-27 13:12:54 +10:00
kvm powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
lib powerpc: Add configurable -Werror for arch/powerpc 2009-06-16 14:15:45 +10:00
math-emu powerpc/math-emu: Fix efp dependence 2009-03-11 06:00:08 -05:00
mm powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
oprofile powerpc: Remove unnecessary semicolons 2009-07-08 13:50:21 +10:00
platforms powerpc: Remove SMP warning from PowerMac cpufreq 2009-08-27 13:12:53 +10:00
sysdev powerpc/nvram: Allow byte length reads from mmio NVRAM driver 2009-08-20 10:29:22 +10:00
xmon powerpc: Enable GCOV 2009-08-20 10:29:28 +10:00
Kconfig powerpc: Remaining 64-bit Book3E support 2009-08-20 10:25:11 +10:00
Kconfig.debug powerpc: Add configurable -Werror for arch/powerpc 2009-06-16 14:15:45 +10:00
Makefile powerpc: Makefile simplification through use of cc-ifversion 2009-08-20 10:12:33 +10:00