kernel_optimize_test/arch/arm64/include/asm
Mark Rutland 15670ef1ea arm64: pgalloc: consistently use PGALLOC_GFP
We currently allocate different levels of page tables with a variety of
differing flags, and the PGALLOC_GFP flags, intended for use when
allocating any level of page table, are only used for ptes in
pte_alloc_one. On x86, PGALLOC_GFP is used for all page table
allocations.

Currently the major differences are:

* __GFP_NOTRACK -- Needed to ensure page tables are always accessible in
  the presence of kmemcheck to prevent recursive faults. Currently
  kmemcheck cannot be selected for arm64.

* __GFP_REPEAT -- Causes the allocator to try to reclaim pages and retry
  upon a failure to allocate.

* __GFP_ZERO -- Sometimes passed explicitly, sometimes zalloc variants
  are used.

While we've no encountered issues so far, it would be preferable to be
consistent. This patch ensures all levels of table are allocated in the
same manner, with PGALLOC_GFP.

Cc: Steve Capper <steve.capper@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2014-11-20 12:05:18 +00:00
..
xen
arch_timer.h clocksource: arm_arch_timer: Consolidate arch_timer_evtstrm_enable 2014-09-29 01:59:26 +02:00
asm-offsets.h
assembler.h
atomic.h locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() 2014-10-03 06:06:23 +02:00
barrier.h - Optimised assembly string/memory routines (based on the AArch64 Cortex 2014-06-06 10:43:28 -07:00
bitops.h
cache.h
cacheflush.h arm64: Add CONFIG_DEBUG_SET_MODULE_RONX support 2014-09-08 14:39:18 +01:00
cachetype.h arm64: add helper functions to read I-cache attributes 2014-09-08 14:39:18 +01:00
cmpxchg.h arm64: xchg: Implement cmpxchg_double 2014-11-06 17:25:28 +00:00
compat.h arm64: compat: fix compat types affecting struct compat_elf_prpsinfo 2014-10-20 17:47:02 +01:00
compiler.h
cpu_ops.h arm64: Remove unneeded extern keyword 2014-10-03 14:51:02 +01:00
cpu.h arm64: cpuinfo: record cpu system register values 2014-07-18 15:24:09 +01:00
cpufeature.h
cpuidle.h arm64: kernel: introduce cpu_init_idle CPU operation 2014-09-12 10:48:55 +01:00
cputable.h
cputype.h arm64: add MIDR_EL1 field accessors 2014-07-18 15:24:08 +01:00
debug-monitors.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
device.h
dma-mapping.h arm64: Implement set_arch_dma_coherent_ops() to replace bus notifiers 2014-09-22 11:48:31 +01:00
dmi.h arm64: dmi: Add SMBIOS/DMI support 2014-11-05 09:03:25 +01:00
efi.h efi/arm64: efistub: Move shared dependencies to <asm/efi.h> 2014-07-07 20:29:47 +01:00
elf.h arm64: ASLR: Don't randomise text when randomise_va_space == 0 2014-10-24 15:47:49 +01:00
esr.h
exception.h
exec.h
fb.h
fixmap.h
fpsimd.h
fpsimdmacros.h arm64: fpsimd: avoid restoring fpcr if the contents haven't changed 2014-07-18 10:21:17 +01:00
ftrace.h arm64: ftrace: Add system call tracepoint 2014-05-29 09:08:33 +01:00
futex.h
hardirq.h arm64: Get rid of handle_IRQ 2014-09-03 13:11:00 +00:00
hugetlb.h
hw_breakpoint.h arm64: ptrace: fix compat hardware watchpoint reporting 2014-08-28 20:01:36 +01:00
hwcap.h arm64: Add COMPAT_HWCAP_LPAE 2014-11-17 10:43:42 +00:00
hypervisor.h
insn.h arm64: introduce aarch64_insn_gen_logical_shifted_reg() 2014-09-08 14:39:21 +01:00
io.h PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
irq_work.h arm64: Fix compilation error on UP builds 2014-10-21 17:01:07 +01:00
irq.h
irqflags.h
jump_label.h
Kbuild Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-10-18 14:24:36 -07:00
kgdb.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
kvm_arm.h arm64/kvm: Fix assembler compatibility of macros 2014-11-06 17:25:28 +00:00
kvm_asm.h arm64: KVM: add trap handlers for AArch32 debug registers 2014-07-11 04:57:45 -07:00
kvm_coproc.h arm64: KVM: common infrastructure for handling AArch32 CP14/CP15 2014-07-11 04:57:44 -07:00
kvm_emulate.h arm/arm64: KVM: Report correct FSC for unsupported fault types 2014-09-26 14:39:45 +02:00
kvm_host.h Changes for KVM for arm/arm64 for 3.18 2014-09-27 11:03:33 +02:00
kvm_mmio.h
kvm_mmu.h arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2 2014-10-14 05:48:19 -07:00
kvm_psci.h
linkage.h
memblock.h
memory.h arm64 updates for 3.17 2014-08-04 12:31:53 -07:00
mmu_context.h
mmu.h Merge branch 'arm64-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-05 13:15:32 -07:00
module.h
neon.h
page.h arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
pci.h arm64: Add architectural support for PCI 2014-09-30 17:08:57 -06:00
percpu.h arm64: LLVMLinux: Use global stack register variable for aarch64 2014-09-08 14:39:19 +01:00
perf_event.h
pgalloc.h arm64: pgalloc: consistently use PGALLOC_GFP 2014-11-20 12:05:18 +00:00
pgtable-hwdef.h arm64: Remove asm/pgtable-*level-hwdef.h files 2014-07-23 15:27:51 +01:00
pgtable-types.h arm64: Remove asm/pgtable-*level-types.h files 2014-07-23 15:27:56 +01:00
pgtable.h Second batch of changes for KVM/{arm,arm64} for 3.18 2014-10-18 14:32:31 -07:00
pmu.h
proc-fns.h arm64: convert part of soft_restart() to assembly 2014-09-08 14:39:18 +01:00
processor.h arm64: report correct stack pointer in KSTK_ESP for compat tasks 2014-08-29 16:11:10 +01:00
psci.h PSCI: Add initial support for PSCIv0.2 functions 2014-05-15 10:16:00 -04:00
ptrace.h arm64: Add brackets around user_stack_pointer() 2014-08-29 16:11:00 +01:00
shmparam.h
signal32.h arm64: Use get_signal() signal_setup_done() 2014-08-06 12:56:16 +02:00
smp_plat.h
smp.h arm64: Tell irq work about self IPI support 2014-09-13 18:46:13 +02:00
sparsemem.h arm64: mm: update max pa bits to 48 2014-08-19 20:23:02 +01:00
spinlock_types.h
spinlock.h
stackprotector.h arm64: Add CONFIG_CC_STACKPROTECTOR 2014-07-09 12:23:48 +01:00
stacktrace.h
stat.h
string.h arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
suspend.h arm64: kernel: refactor the CPU suspend API for retention states 2014-09-12 10:48:55 +01:00
sync_bitops.h
syscall.h arm64: Add audit support 2014-07-10 11:06:00 +01:00
syscalls.h
sysreg.h arm64: gicv3: Allow GICv3 compilation with older binutils 2014-07-25 13:12:15 +01:00
system_misc.h
thread_info.h arm64: LLVMLinux: Calculate current_thread_info from current_stack_pointer 2014-09-08 14:39:19 +01:00
timex.h
tlb.h mmu_gather: move minimal range calculations into generic code 2014-11-17 10:12:42 +00:00
tlbflush.h arm64: fix soft lockup due to large tlb flush range 2014-07-24 18:41:13 +01:00
topology.h arm64: sched: Remove unused mc_capable() and smt_capable() 2014-05-16 17:12:04 +01:00
traps.h
uaccess.h
ucontext.h
unistd32.h arm64: compat: wire up memfd_create and getrandom syscalls for aarch32 2014-08-18 19:47:04 +01:00
unistd.h arm64: compat: wire up memfd_create and getrandom syscalls for aarch32 2014-08-18 19:47:04 +01:00
vdso_datapage.h
vdso.h
virt.h arm64: KVM: remove __kvm_hyp_code_{start,end} from hyp.S 2014-07-11 04:57:35 -07:00
word-at-a-time.h