linux_dsm_epyc7002/arch/powerpc/platforms/cell
Srivatsa S. Bhat 1b67bee129 powerpc: Implement tick broadcast IPI as a fixed IPI message
For scalability and performance reasons, we want the tick broadcast IPIs
to be handled as efficiently as possible. Fixed IPI messages
are one of the most efficient mechanisms available - they are faster than
the smp_call_function mechanism because the IPI handlers are fixed and hence
they don't involve costly operations such as adding IPI handlers to the target
CPU's function queue, acquiring locks for synchronization etc.

Luckily we have an unused IPI message slot, so use that to implement
tick broadcast IPIs efficiently.

Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
[Functions renamed to tick_broadcast* and Changelog modified by
 Preeti U. Murthy<preeti@linux.vnet.ibm.com>]
Signed-off-by: Preeti U. Murthy <preeti@linux.vnet.ibm.com>
Acked-by: Geoff Levand <geoff@infradead.org> [For the PS3 part]
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-03-05 15:55:04 +11:00
..
spufs new helper: dump_align() 2013-11-09 00:16:27 -05:00
axon_msi.c powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
beat_htab.c powerpc/mm: Use HPTE constants when updating hpte bits 2013-12-09 11:40:27 +11:00
beat_hvCall.S powerpc: Merge STK_REG/PARAM/FRAMESIZE 2012-07-10 19:18:03 +10:00
beat_interrupt.c irqdomain: Clean up aftermath of irq_domain refactoring 2013-06-10 11:52:09 +01:00
beat_interrupt.h powerpc: Remove stubbed beat smp support 2011-05-19 15:30:59 +10:00
beat_iommu.c powerpc/cell: Beat dma ops cleanup 2010-11-29 15:48:20 +11:00
beat_spu_priv1.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
beat_syscall.h [POWERPC] celleb: Move files for Beat hvcall interfaces 2008-04-24 21:08:13 +10:00
beat_udbg.c powerpc/cell: Use correct types in beat files 2009-01-08 16:25:16 +11:00
beat_wrapper.h powerpc: cell/beat_wrapper.h is implicitly using memcpy functions 2011-10-31 19:30:40 -04:00
beat.c powerpc: Rework set_dabr so it can take a DABRX value as well 2012-09-10 09:59:10 +10:00
beat.h powerpc: Rework set_dabr so it can take a DABRX value as well 2012-09-10 09:59:10 +10:00
cbe_powerbutton.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
cbe_regs.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
cbe_thermal.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
celleb_pci.c bootmem: fix wrong call parameter for free_bootmem() 2012-12-11 17:22:28 -08:00
celleb_pci.h powerpc/pci: Move IO workarounds to the common kernel dir 2011-04-27 14:18:29 +10:00
celleb_scc_epci.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
celleb_scc_pciex.c of/irq: Use irq_of_parse_and_map() 2013-10-24 11:50:35 +01:00
celleb_scc_sio.c of/irq: simplify args to irq_create_of_mapping 2013-10-24 11:42:57 +01:00
celleb_scc_uhc.c [POWERPC] celleb: Move the SCC related code for celleb 2008-04-24 21:08:13 +10:00
celleb_scc.h [POWERPC] celleb: Add support for PCI Express 2008-04-24 21:08:14 +10:00
celleb_setup.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
cpufreq_spudemand.c workqueue: make deferrable delayed_work initializer names consistent 2012-08-21 13:18:23 -07:00
interrupt.c powerpc: Implement tick broadcast IPI as a fixed IPI message 2014-03-05 15:55:04 +11:00
interrupt.h powerpc/cell: Rename ipi functions to match current abstractions 2011-05-26 13:38:58 +10:00
iommu.c powerpc/iommu: Add it_page_shift field to determine iommu page size 2013-12-30 14:17:13 +11:00
Kconfig cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
Makefile cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
pervasive.c powerpc: More fixes for lazy IRQ vs. idle 2012-07-10 19:16:07 +10:00
pervasive.h powerpc/cell: Cleanup sysreset_hack for IBM cell blades 2008-07-22 10:39:31 +10:00
pmu.c powerpc/cell: Only iterate over online nodes in cbe_init_pm_irq() 2013-04-24 14:22:30 +10:00
qpace_setup.c powerpc: Mark const init data with __initconst instead of __initdata 2012-04-02 14:00:03 +10:00
ras.c powerpc/cell: Add of_node_put to avoid memory leak 2010-09-02 14:07:33 +10:00
ras.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
setup.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
smp.c powerpc: Convert platforms to smp_generic_cpu_bootable 2013-08-14 14:56:57 +10:00
spider-pci.c powerpc/pci: Move IO workarounds to the common kernel dir 2011-04-27 14:18:29 +10:00
spider-pic.c of/irq: Use irq_of_parse_and_map() 2013-10-24 11:50:35 +01:00
spu_base.c powerpc/cell/spufs: Fix status attribute permission 2013-05-06 12:02:05 +10:00
spu_callbacks.c powerpc: Convert print_symbol to %pSR 2013-01-10 17:01:16 +11:00
spu_fault.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
spu_manage.c of/irq: simplify args to irq_create_of_mapping 2013-10-24 11:42:57 +01:00
spu_notify.c powerpc: fix implicit notifier use in converting to export.h 2011-10-31 19:30:41 -04:00
spu_priv1_mmio.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
spu_priv1_mmio.h [POWERPC] cell: abstract spu management routines 2006-12-04 20:40:39 +11:00
spu_syscalls.c switch elf_coredump_extra_notes_write() to dump_emit() 2013-11-09 00:16:24 -05:00