linux_dsm_epyc7002/arch/powerpc/include/asm
Anton Blanchard e35735b9a5 powerpc: Speed up clear_page by unrolling it
Unroll clear_page 8 times. A simple microbenchmark which
allocates and frees a zeroed page:

for (i = 0; i < iterations; i++) {
	unsigned long p = __get_free_page(GFP_KERNEL | __GFP_ZERO);
	free_page(p);
}

improves 20% on POWER8.

This assumes cacheline sizes won't grow beyond 512 bytes or
page sizes wont drop below 1kB, which is unlikely, but we could
add a runtime check during early init if it makes people nervous.

Michael found that some versions of gcc produce quite bad code
(all multiplies), so we give gcc a hand by using shifts and adds.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 16:04:21 +10:00
..
8xx_immap.h
agp.h
archrandom.h random: Add arch_has_random[_seed]() 2014-03-19 22:24:08 -04:00
asm-compat.h PPC: Add asm helpers for BE 32bit load/store 2014-07-28 15:22:21 +02:00
asm-offsets.h
async_tx.h
atomic.h arch,powerpc: Convert smp_mb__*() 2014-04-18 14:20:41 +02:00
backlight.h
barrier.h arch,powerpc: Convert smp_mb__*() 2014-04-18 14:20:41 +02:00
bitops.h arch,powerpc: Convert smp_mb__*() 2014-04-18 14:20:41 +02:00
bootx.h
btext.h
bug.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
bugs.h
cache.h Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8 2014-07-28 15:23:17 +02:00
cacheflush.h
cell-pmu.h
cell-regs.h
checksum.h
cmpxchg.h
code-patching.h powerpc: Add ppc_global_function_entry() 2014-06-24 14:05:32 +10:00
compat.h powerpc/compat: 32-bit little endian machine name is ppcle, not ppc 2014-03-24 10:16:04 +11:00
context_tracking.h powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
cpm1.h
cpm2.h powerpc/cpm: Remove duplicate FCC_GFMR_TTX define 2014-06-11 17:03:28 +10:00
cpm.h
cputable.h powerpc: Add POWER8 features to CPU_FTRS_POSSIBLE/ALWAYS 2014-08-13 15:13:43 +10:00
cputhreads.h powerpc: Add threads_per_subcore 2014-05-28 13:35:35 +10:00
cputime.h
current.h
dbdma.h
dbell.h
dcr-generic.h
dcr-mmio.h of: Stop naming platform_device using dcr address 2014-05-23 08:28:02 +09:00
dcr-native.h
dcr-regs.h
dcr.h
debug.h powerpc: Fix smp_processor_id() in preemptible splat in set_breakpoint 2014-05-20 10:54:06 +10:00
delay.h
device.h
disassemble.h KVM: PPC: BOOK3S: Remove open coded make_dsisr in alignment handler 2014-05-30 14:26:25 +02:00
div64.h
dma-mapping.h powerpc/powernv: Override dma_get_required_mask() 2014-09-30 17:15:20 +10:00
dma.h
edac.h
eeh_event.h powerpc/powernv: Fix killed EEH event 2014-06-11 17:04:33 +10:00
eeh.h powerpc/eeh: Emulate EEH recovery for VFIO devices 2014-09-30 17:15:18 +10:00
ehv_pic.h
elf.h powerpc: Clear ELF personality flag if ELFv2 is not requested. 2014-05-20 10:55:59 +10:00
emergency-restart.h
emulated_ops.h powerpc: Add lq/stq emulation 2014-04-09 12:53:28 +10:00
epapr_hcalls.h
exception-64e.h powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
exception-64s.h powerpc/book3s: Add basic infrastructure to handle HMI in Linux. 2014-08-05 16:33:48 +10:00
exec.h
fadump.h include/linux/crash_dump.h: add vmcore_cleanup() prototype 2014-04-07 16:36:06 -07:00
fb.h
feature-fixups.h
firmware.h
fixmap.h
floppy.h
fs_pd.h powerpc/8xx: Remove empty asm/mpc8xx.h 2014-06-25 18:49:40 -05:00
fsl_85xx_cache_sram.h
fsl_gtm.h
fsl_guts.h
fsl_hcalls.h
fsl_lbc.h
fsl_pamu_stash.h
ftrace.h powerpc: Remove function descriptors and dot symbols on new ABI 2014-04-23 10:05:20 +10:00
futex.h
gpio.h
grackle.h
hardirq.h powerpc/book3s: Add basic infrastructure to handle HMI in Linux. 2014-08-05 16:33:48 +10:00
heathrow.h
highmem.h
hugetlb.h powerpc/mm: Add new "set" flag argument to pte/pmd update function 2014-02-17 11:19:35 +11:00
hvcall.h KVM: PPC: Book3S HV: Add H_SET_MODE hcall handling 2014-07-28 15:22:19 +02:00
hvconsole.h
hvcserver.h
hvsi.h
hw_breakpoint.h powerpc: Fix smp_processor_id() in preemptible splat in set_breakpoint 2014-05-20 10:54:06 +10:00
hw_irq.h powerpc/book3s: Add basic infrastructure to handle HMI in Linux. 2014-08-05 16:33:48 +10:00
hydra.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
i8259.h
ibmebus.h
ide.h
immap_cpm2.h
immap_qe.h
io_event_irq.h
io-defs.h
io-workarounds.h
io.h
iommu.h powerpc/powernv: Add iommu DMA bypass support for IODA2 2014-02-11 16:07:37 +11:00
ipic.h
irq_regs.h
irq.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
irqflags.h powerpc: Update comments in irqflags.h 2014-07-28 14:11:23 +10:00
jump_label.h powerpc/pseries: Use jump labels for hcall tracepoints 2014-07-11 16:05:58 +10:00
Kbuild lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
kdebug.h
kdump.h
kexec.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
keylargo.h
kgdb.h
kmap_types.h
kprobes.h powerpc/kprobes: Fix ABIv2 issues with kprobe_lookup_name 2014-04-23 10:05:33 +10:00
kvm_asm.h Here are the PPC and ARM changes for KVM, which I separated because 2014-08-07 11:35:30 -07:00
kvm_book3s_32.h
kvm_book3s_64.h Patch queue for ppc - 2014-08-01 2014-08-05 09:58:11 +02:00
kvm_book3s_asm.h KVM: PPC: Book3S PR: Handle Facility interrupt and FSCR 2014-05-30 14:26:22 +02:00
kvm_book3s.h KVM: PPC: PR: Handle FSCR feature deselects 2014-07-31 10:23:46 +02:00
kvm_booke_hv_asm.h powerpc/booke64: Use SPRG_TLB_EXFRAME on bolted handlers 2014-03-19 19:57:15 -05:00
kvm_booke.h KVM: PPC: Handle magic page in kvmppc_ld/st 2014-07-28 16:35:53 +02:00
kvm_fpu.h
kvm_host.h KVM: PPC: Remove DCR handling 2014-07-28 19:29:15 +02:00
kvm_para.h
kvm_ppc.h KVM: PPC: BOOKEHV: rename e500hv_spr to bookehv_spr 2014-07-30 11:39:52 +02:00
libata-portmap.h
linkage.h powerpc: Remove function descriptors and dot symbols on new ABI 2014-04-23 10:05:20 +10:00
local64.h
local.h
lppaca.h
lv1call.h
machdep.h powerpc/thp: Don't recompute vsid and ssize in loop on invalidate 2014-08-13 18:20:38 +10:00
macio.h
mc146818rtc.h
mce.h powerpc/book3s: Recover from MC in sapphire on SCOM read via MMIO. 2014-03-07 15:52:10 +11:00
mediabay.h
mman.h
mmu_context.h powerpc: Remove MMU_FTR_SLB 2014-07-28 14:10:23 +10:00
mmu-8xx.h
mmu-40x.h
mmu-44x.h
mmu-book3e.h KVM: PPC: Book3e: Add TLBSEL/TSIZE defines for MAS0/1 2014-07-28 15:23:13 +02:00
mmu-hash32.h
mmu-hash64.h powerpc: Move htab_remove_mapping function prototype into header file 2014-09-25 23:14:44 +10:00
mmu.h powerpc: Remove MMU_FTR_SLB 2014-07-28 14:10:23 +10:00
mmzone.h
module.h powerpc/modules: Create module_trampoline_target() 2014-04-23 10:05:34 +10:00
mpc5xxx.h
mpc6xx.h
mpc52xx_psc.h
mpc52xx.h
mpc85xx.h powerpc/fsl-booke: Add support for T2080/T2081 SoC 2014-07-02 17:32:41 -05:00
mpc5121.h
mpc8260.h
mpic_msgr.h
mpic_timer.h
mpic.h
msi_bitmap.h
mutex.h
nvram.h
ohare.h
opal.h powerpc/powernv: Sync OpalPciResetScope with firmware 2014-09-30 17:15:17 +10:00
oprofile_impl.h powerpc: Remove oprofile RS64 support 2014-07-28 14:10:25 +10:00
paca.h powerpc/powernv: Invoke opal call to handle hmi. 2014-08-05 16:33:52 +10:00
page_32.h
page_64.h powerpc: Speed up clear_page by unrolling it 2014-10-02 16:04:21 +10:00
page.h arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
parport.h
pasemi_dma.h
pci-bridge.h
pci.h PCI: Turn pcibios_penalize_isa_irq() into a weak function 2014-05-27 16:23:58 -06:00
percpu.h
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Pass the struct perf_events down to compute_mmcr() 2014-07-28 14:30:47 +10:00
perf_event.h
pgalloc-32.h
pgalloc-64.h
pgalloc.h
pgtable-ppc32.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
pgtable-ppc64-4k.h
pgtable-ppc64-64k.h
pgtable-ppc64.h powerpc/thp: Handle combo pages in invalidate 2014-08-13 18:20:39 +10:00
pgtable.h x86: define _PAGE_NUMA by reusing software bits on the PMD and PTE levels 2014-06-04 16:53:55 -07:00
plpar_wrappers.h
pmac_feature.h
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
ppc4xx_ocm.h
ppc4xx.h
ppc_asm.h PPC: Add _GLOBAL_TOC for 32bit 2014-06-26 13:19:42 +02:00
ppc-opcode.h Here are the PPC and ARM changes for KVM, which I separated because 2014-08-07 11:35:30 -07:00
ppc-pci.h powerpc/eeh: No hotplug on permanently removed dev 2014-04-28 17:34:32 +10:00
probes.h
processor.h arch, locking: Ciao arch_mutex_cpu_relax() 2014-07-17 12:32:47 +02:00
prom.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
ps3.h
ps3av.h
ps3gpu.h
ps3stor.h
pte-8xx.h
pte-40x.h
pte-44x.h
pte-book3e.h
pte-common.h
pte-fsl-booke.h booke/powerpc: define wimge shift mask to fix compilation error 2014-06-25 18:49:39 -05:00
pte-hash32.h
pte-hash64-4k.h
pte-hash64-64k.h powerpc/mm: Use read barrier when creating real_pte 2014-08-13 18:20:41 +10:00
pte-hash64.h
ptrace.h powerpc/perf: Fix ABIv2 kernel backtraces 2014-09-09 19:02:45 +10:00
qe_ic.h
qe.h
reg_8xx.h
reg_a2.h powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00
reg_booke.h powerpc/e6500: Add support for hardware threads 2014-07-29 19:26:20 -05:00
reg_fsl_emb.h
reg.h powerpc: remove duplicate definition of TEXASR_FS 2014-08-13 15:13:47 +10:00
rheap.h
rio.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
rtas.h powerpc/le: Enable RTAS events support 2014-04-07 10:33:12 +10:00
rtc.h
runlatch.h
scom.h
sections.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-06-10 18:54:22 -07:00
serial.h
setjmp.h
setup.h
sfp-machine.h
shmparam.h
signal.h
smp.h powerpc/kvm/book3s_hv: Rework the secondary inhibit code 2014-05-28 13:35:34 +10:00
smu.h
sparsemem.h
spinlock_types.h
spinlock.h powerpc: Add smp_mb() to arch_spin_is_locked() 2014-08-13 15:13:26 +10:00
spu_csa.h
spu_info.h
spu_priv1.h
spu.h
sstep.h powerpc: Emulate icbi, mcrf and conditional-trap instructions 2014-09-25 23:14:51 +10:00
string.h powerpc: memcpy optimization for 64bit LE 2014-04-30 15:26:18 +10:00
swab.h powerpc: Remove __arch_swab* 2014-06-24 12:43:15 +10:00
swiotlb.h
switch_to.h powerpc/perf: Ensure all EBB register state is cleared on fork() 2014-06-11 17:03:41 +10:00
synch.h
syscall.h
syscalls.h
systbl.h powerpc: Wire up sys_seccomp(), sys_getrandom() and sys_memfd_create() 2014-09-09 19:02:47 +10:00
tce.h
termios.h
thread_info.h
time.h KVM: PPC: BOOK3S: PR: Emulate virtual timebase register 2014-07-28 15:21:50 +02:00
timex.h
tlb.h
tlbflush.h
tm.h Merge branch 'kvm-ppchv-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into kvm-next 2014-03-29 15:44:05 +01:00
topology.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-06-10 18:54:22 -07:00
trace.h powernv: Add OPAL tracepoints 2014-07-11 16:06:08 +10:00
tsi108_irq.h
tsi108_pci.h
tsi108.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
types.h
uaccess.h
ucc_fast.h
ucc_slow.h
ucc.h
udbg.h powerpc: Remove stale function prototypes 2014-09-25 23:14:43 +10:00
uic.h
unaligned.h
uninorth.h
unistd.h powerpc: Wire up sys_seccomp(), sys_getrandom() and sys_memfd_create() 2014-09-09 19:02:47 +10:00
uprobes.h
user.h
vdso_datapage.h
vdso.h powerpc: Link VDSOs at 0x0 2014-02-17 11:19:37 +11:00
vga.h
vio.h
word-at-a-time.h powerpc: ppc64le optimised word at a time 2014-09-30 14:59:13 +10:00
xics.h powerpc/powernv: Don't call generic code on offline cpus 2014-09-25 23:14:50 +10:00
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h