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 fs: move code out of buffer.c 2012-01-03 22:54:07 -05:00
cpm1.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
cpm2.c powerpc/fsl-cpm: Configure clock correctly for SCC 2010-04-19 23:13:03 -05:00
cpm2_pic.c powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
cpm2_pic.h powerpc/cpm2: Checkpatch cleanup 2010-03-04 10:43:58 -06:00
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 powerpc/4xx: Extended DCR support v2 2008-12-21 14:21:15 +11:00
dcr.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
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 powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
fsl_rio.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
fsl_rio.h fsl-rio: Add two ports and rapidio message units support 2011-11-24 02:01:34 -06:00
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 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x into fbdev-next 2011-08-29 09:14:30 +00:00
grackle.c powerpc: rename ppc_pci_*_flags to pci_*_flags 2011-07-12 09:28:04 -05:00
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 Fix common misspellings 2011-03-31 11:26:23 -03:00
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 powerpc/cpm1: Mark micropatch code/data static and __init 2010-07-11 11:04:06 -05:00
mmio_nvram.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
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 powerpc: Convert to new irq_* function names 2011-03-29 14:48:12 +02:00
mpic_u3msi.c powerpc: Convert to new irq_* function names 2011-03-29 14:48:12 +02:00
msi_bitmap.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
mv64x60.h
mv64x60_dev.c powerpc/mv64x60: Suspected typo in assignment 2011-03-02 16:50:05 +11:00
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 treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
of_rtc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pmi.c powerpc/sysdev: Use module_platform_driver macro 2012-11-15 13:00:05 +11:00
ppc4xx_cpm.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
ppc4xx_gpio.c of/gpio: add default of_xlate function if device has a node pointer 2010-07-05 16:14:30 -06:00
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 powerpc/476fpe: Add 476fpe SoC code 2011-12-09 07:51:02 -05:00
ppc4xx_soc.c powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
rtc_cmos_setup.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
scom.c powerpc: Fix fallout from device_node->name constification 2012-11-29 17:27:19 +00:00
simple_gpio.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
simple_gpio.h powerpc: Implement GPIO driver for simple memory-mapped banks 2008-12-30 11:13:45 -06:00
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 powerpc/virtex: Add support for Xilinx PCI host bridge 2009-06-06 10:14:22 -06:00