linux/arch/powerpc/platforms/pseries
Anton Blanchard b6dcde5c74 powerpc: Fix hypervisor TLB batching
Profiling of a page fault scalability microbenchmark shows flush_hash_range
is not calling the batch hpte invalidate hcall (H_BULK_REMOVE).

It turns out we have a duplicate firmware feature for hcall-bulk and the
current setup code stops after finding the first match. This meant we never
batch and always do individual invalidates.

The patch below removes the duplicate and shifts FW_FEATURE_CMO to close
the gap. With the patch applied the single threaded page fault rate improves
from 217169 to 238755 per second on a POWER5 test box, a 10% improvement.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-10-14 16:58:37 +11:00
..
cmm.c powerpc: Add reboot notifier to Collaborative Memory Manager 2008-12-21 14:21:15 +11:00
dtl.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
eeh_cache.c [POWERPC] Add CONFIG_PPC_PSERIES_DEBUG to enable debugging for platforms/pseries 2008-04-24 21:08:12 +10:00
eeh_driver.c PCI AER: support Multiple Error Received and no error source id 2009-06-16 14:30:13 -07:00
eeh_event.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
eeh_sysfs.c [POWERPC] Show EEH per-device false positives 2007-06-14 22:29:55 +10:00
eeh.c PCI/powerpc: support PCIe fundamental reset 2009-09-09 13:29:41 -07:00
firmware.c powerpc: Fix hypervisor TLB batching 2009-10-14 16:58:37 +11:00
hotplug-cpu.c cpumask: Use accessors for cpu_*_mask: powerpc 2009-09-24 09:34:48 +09:30
hotplug-memory.c powerpc: Add missing sparsemem.h include 2009-02-10 14:39:09 +11:00
hvCall_inst.c seq_file: constify seq_operations 2009-09-23 07:39:29 -07:00
hvCall.S [POWERPC] Bypass hcall stats until cpu features have run 2007-03-22 15:01:43 +11:00
hvconsole.c [POWERPC] clean up pseries hcall interfaces 2006-08-01 16:19:15 +10:00
hvcserver.c
iommu.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
Kconfig powerpc: Add virtual processor dispatch trace log 2009-03-24 13:47:28 +11:00
kexec.c powerpc/pseries: Call pseries_kexec_setup only on pseries 2008-06-30 22:30:57 +10:00
lpar.c powerpc/pseries: Use pr_devel() in pseries LPAR HPTE routines 2009-07-08 13:50:21 +10:00
Makefile powerpc: Add virtual processor dispatch trace log 2009-03-24 13:47:28 +11:00
msi.c powerpc/pseries: Reject discontiguous/non-zero based MSI-X requests 2009-03-11 17:11:33 +11:00
nvram.c [POWERPC] Add missing of_node_put in pseries/nvram.c 2008-06-16 15:00:32 +10:00
pci_dlpar.c powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() 2009-09-02 15:45:53 +10:00
pci.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
phyp_dump.c powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c 2009-01-28 17:15:51 +11:00
plpar_wrappers.h powerpc: Add virtual processor dispatch trace log 2009-03-24 13:47:28 +11:00
power.c [POWERPC] Fix warning in pseries/power.c 2008-02-20 13:33:37 +11:00
pseries.h [POWERPC] Move prototype for find_udbg_vterm() into a header file 2008-04-17 10:00:59 +10:00
ras.c [POWERPC] Fix sparse warnings in arch/powerpc/platforms/pseries 2008-05-14 22:32:02 +10:00
reconfig.c powerpc/pseries: Fix to handle slb resize across migration 2009-09-02 16:19:01 +10:00
rtasd.c powerpc: Convert RTAS event scan from kernel thread to workqueue 2009-06-02 10:35:32 +10:00
scanlog.c [POWERPC] Assign PDE->data before gluing PDE into /proc tree 2008-05-05 16:47:14 +10:00
setup.c powerpc: Fix bug where perf_counters breaks oprofile 2009-09-11 11:27:58 +10:00
smp.c powerpc: Move definitions of secondary CPU spinloop to header file 2009-08-20 10:12:44 +10:00
xics.c powerpc/pseries: Use pr_devel() in xics.c 2009-07-08 13:50:21 +10:00
xics.h powerpc/xics: Consolidate ipi message encode and decode 2008-10-13 16:24:16 +11:00