linux/arch/powerpc/sysdev
Benjamin Herrenschmidt 54695c3088 KVM: PPC: Book3S HV: Speed up wakeups of CPUs on HV KVM
Currently, we wake up a CPU by sending a host IPI with
smp_send_reschedule() to thread 0 of that core, which will take all
threads out of the guest, and cause them to re-evaluate their
interrupt status on the way back in.

This adds a mechanism to differentiate real host IPIs from IPIs sent
by KVM for guest threads to poke each other, in order to target the
guest threads precisely when possible and avoid that global switch of
the core to host state.

We then use this new facility in the in-kernel XICS code.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-04-26 20:27:31 +02:00
..
ge Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-21 18:55:10 -07:00
qe_lib powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
xics KVM: PPC: Book3S HV: Speed up wakeups of CPUs on HV KVM 2013-04-26 20:27:31 +02:00
6xx-suspend.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
Kconfig powerpc: Move GE PIC drivers 2012-03-16 11:08:11 -05:00
Makefile Merge remote-tracking branch 'agust/next' into next 2013-02-20 11:39:05 +11:00
axonram.c
cpm1.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
cpm2.c
cpm2_pic.c powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
cpm2_pic.h
cpm_common.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
dart.h
dart_iommu.c powerpc/iommu: Fix multiple issues with IOMMU pools code 2012-10-04 18:03:20 +10:00
dcr-low.S
dcr.c
ehv_pic.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
fsl_85xx_cache_ctlr.h powerpc/85xx: Fix sram_offset parameter type 2012-07-26 13:24:32 -05:00
fsl_85xx_cache_sram.c powerpc/85xx: Fix compiler error with THIS_MODULE and related 2012-03-16 14:50:25 -05:00
fsl_85xx_l2ctlr.c powerpc/85xx: l2sram - Add compatible string for BSC9131 platform 2013-02-19 11:01:54 -06:00
fsl_gtm.c powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
fsl_ifc.c powerpc/fsl: ifc: sparse fixes 2013-02-12 11:05:21 -06:00
fsl_lbc.c powerpc/fsl: lbc: sparse fixes 2013-02-12 11:05:18 -06:00
fsl_mpic_err.c powerpc/mpic: FSL MPIC error interrupt support. 2012-09-12 14:57:10 -05:00
fsl_msi.c powerpc/fsl: msi: sparse fixes 2013-02-12 11:05:23 -06:00
fsl_msi.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
fsl_pci.c powerpc/fsl_pci: Store the pci ctlr device ptr in the pci ctlr struct 2013-02-15 14:10:32 -06:00
fsl_pci.h powerpc/fsl_pci: Store the pci ctlr device ptr in the pci ctlr struct 2013-02-15 14:10:32 -06:00
fsl_pmc.c
fsl_rio.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
fsl_rio.h
fsl_rmu.c powerpc/srio: Fix the compile errors when building with 64bit 2012-03-16 10:46:30 -05:00
fsl_soc.c powerpc/fsl: fsl_soc: sparse fixes 2013-02-12 11:05:20 -06:00
fsl_soc.h
grackle.c
i8259.c irq_domain: Add support for base irq and hwirq in legacy mappings 2012-02-16 06:11:23 -07:00
indirect_pci.c
ipic.c irq_domain/powerpc: Replace custom xlate functions with library functions 2012-02-16 06:11:24 -07:00
ipic.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
micropatch.c
mmio_nvram.c
mpc5xxx_clocks.c powerpc/mpc5xxx: fix sparse warning for non static symbol 2013-02-05 07:40:43 +00:00
mpc8xx_pic.c powerpc/8xx: Fix NR_IRQ bugs and refactor 8xx interrupt controller 2012-04-30 10:45:25 +10:00
mpc8xx_pic.h
mpic.c powerpc/mpic: allow coreint to be determined by MPIC version 2013-02-15 14:13:22 -06:00
mpic.h powerpc/mpic: FSL MPIC error interrupt support. 2012-09-12 14:57:10 -05:00
mpic_msgr.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
mpic_msi.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-21 18:55:10 -07:00
mpic_pasemi_msi.c
mpic_u3msi.c
msi_bitmap.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
mv64x60.h
mv64x60_dev.c
mv64x60_pci.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
mv64x60_pic.c irq_domain: Replace irq_alloc_host() with revmap-specific initializers 2012-02-16 06:11:22 -07:00
mv64x60_udbg.c
of_rtc.c
pmi.c powerpc/sysdev: Use module_platform_driver macro 2012-11-15 13:00:05 +11:00
ppc4xx_cpm.c
ppc4xx_gpio.c
ppc4xx_msi.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
ppc4xx_ocm.c powerpc/44x: Support OCM(On Chip Memory) for APM821xx SoC and Bluestone board 2013-01-10 15:08:37 +11:00
ppc4xx_pci.c powerpc/44x: Add support PCI-E for APM821xx SoC and Bluestone board 2012-03-17 08:49:34 -04:00
ppc4xx_pci.h
ppc4xx_soc.c
rtc_cmos_setup.c
scom.c powerpc: Fix fallout from device_node->name constification 2012-11-29 17:27:19 +00:00
simple_gpio.c
simple_gpio.h
tsi108_dev.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
tsi108_pci.c irq_domain: Add support for base irq and hwirq in legacy mappings 2012-02-16 06:11:23 -07:00
uic.c irq_domain/powerpc: Replace custom xlate functions with library functions 2012-02-16 06:11:24 -07:00
xilinx_intc.c irq_domain: Replace irq_alloc_host() with revmap-specific initializers 2012-02-16 06:11:22 -07:00
xilinx_pci.c