powerpc/powernv: Enable POWER8 doorbell IPIs
authorMichael Neuling <mikey@neuling.org>
Wed, 11 Jun 2014 05:59:28 +0000 (15:59 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 11 Jun 2014 07:05:12 +0000 (17:05 +1000)
commitd4e58e5928f8c6c49228451dd03e0714cbab299a
tree34add9a16b4dbe03da04191f51588f3f6a6bdbf9
parent9b6a68d94333cf19d4ec0f2aaf9f9eb68866630e
powerpc/powernv: Enable POWER8 doorbell IPIs

This patch enables POWER8 doorbell IPIs on powernv.

Since doorbells can only IPI within a core, we test to see when we can use
doorbells and if not we fall back to XICS.  This also enables hypervisor
doorbells to wakeup us up from nap/sleep via the LPCR PECEDH bit.

Based on tests by Anton, the best case IPI latency between two threads dropped
from 894ns to 512ns.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/cpu_setup_power.S
arch/powerpc/platforms/powernv/Kconfig
arch/powerpc/platforms/powernv/smp.c
arch/powerpc/platforms/pseries/Kconfig
arch/powerpc/sysdev/xics/icp-native.c