linux/arch/arm64/include/asm
Will Deacon cd5e10bdf3 arm64: prefetch: don't provide spin_lock_prefetch with LSE
The LSE atomics rely on us not dirtying data at L1 if we can avoid it,
otherwise many of the potential scalability benefits are lost.

This patch replaces spin_lock_prefetch with a nop when the LSE atomics
are in use, so that users don't shoot themselves in the foot by causing
needless coherence traffic at L1.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Tested-by: Andrew Pinski <apinski@cavium.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-02-16 15:12:32 +00:00
..
xen xen/events: Support event channel rebind on ARM 2015-08-20 12:24:15 +01:00
acenv.h ARM64 / ACPI: Get RSDP and ACPI boot-time tables 2015-03-25 11:49:30 +00:00
acpi.h arm64: kernel: implement ACPI parking protocol 2016-02-16 15:12:32 +00:00
alternative.h arm64: mm: fold alternatives into .init 2015-12-10 17:36:08 +00:00
arch_gicv3.h irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is visible on redestributor 2016-02-11 10:20:02 +00:00
arch_timer.h arm64: fix missing linux/bug.h include in asm/arch_timer.h 2015-01-07 11:40:59 +00:00
arm-cci.h arm-cci: Get rid of secure transactions for PMU driver 2015-03-27 13:44:35 +00:00
asm-offsets.h
assembler.h arm64: Add this_cpu_ptr() assembler macro for use in entry.S 2015-12-10 12:08:09 +00:00
atomic_ll_sc.h arm64: cmpxchg_dbl: fix return value type 2015-11-05 17:29:40 +00:00
atomic_lse.h arm64: cmpxchg_dbl: fix return value type 2015-11-05 17:29:40 +00:00
atomic.h arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
barrier.h arm64: define __smp_xxx 2016-01-12 20:46:53 +02:00
bitops.h arch,arm64: Convert smp_mb__*() 2014-04-18 11:40:33 +02:00
bitrev.h ARM: 8189/1: arm64:add bitrev.h file to support rbit instruction 2014-12-22 16:47:32 +00:00
boot.h arm64: use fixmap region for permanent FDT mapping 2015-06-02 16:31:33 +01:00
bug.h arm64/BUG: Use BRK instruction for generic BUG traps 2015-07-27 11:08:42 +01:00
cache.h arm64: Increase the max granular size 2015-10-28 19:09:17 +00:00
cacheflush.h arm64: Use PoU cache instr for I/D coherency 2015-12-17 11:07:13 +00:00
cachetype.h arm64: cachetype: fix definitions of ICACHEF_* flags 2015-10-28 18:32:12 +00:00
cmpxchg.h arm64: cmpxchg: Don't incldue linux/mmdebug.h 2015-12-10 17:36:09 +00:00
compat.h arm64: do not include ptrace.h from compat.h 2015-11-17 13:24:36 +00:00
compiler.h
cpu_ops.h ARM64: kernel: unify ACPI and DT cpus initialization 2015-05-19 16:09:29 +01:00
cpu.h arm64: Consolidate CPU Sanity check to CPU Feature infrastructure 2015-10-21 15:35:56 +01:00
cpufeature.h arm64 fixes: 2015-11-27 11:09:59 -08:00
cpuidle.h arm64: kernel: rename __cpu_suspend to keep it aligned with arm 2015-06-19 14:46:39 +01:00
cputype.h arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
dcc.h ARM64: TTY: hvc_dcc: Add support for ARM64 dcc 2015-10-04 17:49:27 +01:00
debug-monitors.h arm64: debug: rename enum debug_el to avoid symbol collision 2015-07-27 18:36:54 +01:00
device.h arm64: introduce is_device_dma_coherent 2014-12-04 12:41:49 +00:00
dma-mapping.h dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
dmi.h arm64: dmi: Add SMBIOS/DMI support 2014-11-05 09:03:25 +01:00
efi.h arm64/efi: refactor EFI init and runtime code for reuse by 32-bit ARM 2015-12-09 16:57:23 +00:00
elf.h mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE 2015-04-14 16:49:05 -07:00
esr.h arm64/debug: Add missing #includes 2015-07-27 11:08:42 +01:00
exception.h arm64: Add __exception_irq_entry definition for function graph 2015-08-12 17:23:45 +01:00
exec.h
fb.h
fixmap.h arm64: mm: add functions to walk tables in fixmap 2016-02-16 15:10:46 +00:00
fpsimd.h arm64: add support for kernel mode NEON in interrupt context 2014-05-08 11:31:57 +02:00
fpsimdmacros.h arm64: Avoid breakage caused by .altmacro in fpsimd save/restore macros 2015-01-29 17:24:39 +00:00
ftrace.h arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
futex.h arm64: futex.h: Add missing PAN toggling 2016-02-02 15:59:21 +00:00
hardirq.h arm64: kernel: implement ACPI parking protocol 2016-02-16 15:12:32 +00:00
hugetlb.h arm64: hugetlb: add support for PTE contiguous bit 2015-12-21 17:26:00 +00:00
hw_breakpoint.h arm64: debug: Treat the BRPs/WRPs as unsigned 2015-11-26 18:08:36 +00:00
hwcap.h arm64/HWCAP: Use system wide safe values 2015-10-21 15:35:58 +01:00
hypervisor.h
insn.h arm64: insn: Add aarch64_{get,set}_branch_offset 2015-06-03 15:43:24 +01:00
io.h Revert "arm64: ioremap: add ioremap_cache macro" 2015-10-13 16:18:17 +01:00
irq_work.h arm64: force CONFIG_SMP=y and remove redundant #ifdefs 2015-07-27 11:08:40 +01:00
irq.h arm64: remove irq_count and do_softirq_own_stack() 2015-12-21 17:26:01 +00:00
irqflags.h arm64: Add macros to manage processor debug state 2014-02-26 11:16:25 +00:00
jump_label.h locking/static_keys: Add a new static_key interface 2015-08-03 11:34:15 +02:00
kasan.h arm64: mm: create new fine-grained mappings at boot 2016-02-16 15:10:46 +00:00
Kbuild mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
kernel-pgtable.h arm64: Calculate size for idmap_pg_dir at compile time 2015-10-19 17:53:26 +01:00
kgdb.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
kvm_arm.h arm64: KVM: Obey RES0/1 reserved bits when setting CPTR_EL2 2016-01-24 21:55:58 +00:00
kvm_asm.h arm64: KVM: Turn system register numbers to an enum 2015-12-14 11:30:43 +00:00
kvm_coproc.h arm64: KVM: common infrastructure for handling AArch32 CP14/CP15 2014-07-11 04:57:44 -07:00
kvm_emulate.h arm64: KVM: Fix wrong use of the CPSR MODE mask for 32bit guests 2016-01-24 21:55:59 +00:00
kvm_host.h arm64: KVM: Turn system register numbers to an enum 2015-12-14 11:30:43 +00:00
kvm_mmio.h arm64: KVM: Turn system register numbers to an enum 2015-12-14 11:30:43 +00:00
kvm_mmu.h kvm: rename pfn_t to kvm_pfn_t 2016-01-15 17:56:32 -08:00
kvm_psci.h ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible 2014-04-30 04:18:57 -07:00
linkage.h
lse.h arm64: lse: rename ARM64_CPU_FEAT_LSE_ATOMICS for consistency 2015-07-27 15:28:54 +01:00
memblock.h
memory.h arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
mmu_context.h arm64: mm: add code to safely replace TTBR1_EL1 2016-02-16 15:10:45 +00:00
mmu.h arm64: mm: rewrite ASID allocator and MM context-switching code 2015-10-07 11:55:41 +01:00
module.h
neon.h arm64: add support for kernel mode NEON in interrupt context 2014-05-08 11:31:57 +02:00
opcodes.h arm64: Add AArch32 instruction set condition code checks 2014-11-20 16:33:45 +00:00
page.h arm64: asm: Explicitly include linux/personality.h in asm/page.h 2016-02-03 19:22:02 +00:00
paravirt.h arm64: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops 2015-12-21 14:40:54 +00:00
pci.h ARM64 / ACPI: Introduce PCI stub functions for ACPI 2015-03-25 11:49:31 +00:00
percpu.h arm64: force CONFIG_SMP=y and remove redundant #ifdefs 2015-07-27 11:08:40 +01:00
perf_event.h arm64: perf: factor out callchain code 2015-07-27 11:08:39 +01:00
pgalloc.h arm64: mm: add __{pud,pgd}_populate 2016-02-16 15:10:46 +00:00
pgtable-hwdef.h arm64: hugetlb: add support for PTE contiguous bit 2015-12-21 17:26:00 +00:00
pgtable-types.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
pgtable.h arm64: mm: add functions to walk tables in fixmap 2016-02-16 15:10:46 +00:00
proc-fns.h arm64: kill flush_cache_all() 2015-05-19 15:27:42 +01:00
processor.h arm64: prefetch: don't provide spin_lock_prefetch with LSE 2016-02-16 15:12:32 +00:00
ptrace.h arm64: Fix compat register mappings 2015-10-29 16:55:15 +00:00
seccomp.h arm64: add seccomp support 2014-11-28 10:24:59 +00:00
shmparam.h arm64: fix COMPAT_SHMLBA definition for large pages 2015-12-02 14:00:10 +00:00
signal32.h arm64: Use get_signal() signal_setup_done() 2014-08-06 12:56:16 +02:00
smp_plat.h arm64: remove dead-code depending on CONFIG_UP_LATE_INIT 2015-07-29 18:32:09 +01:00
smp.h arm64: kernel: implement ACPI parking protocol 2016-02-16 15:12:32 +00:00
sparsemem.h arm64: mm: update max pa bits to 48 2014-08-19 20:23:02 +01:00
spinlock_types.h arm64: include linux/types.h in asm/spinlock_types.h 2015-07-27 11:09:34 +01:00
spinlock.h arm64: spinlock: serialise spin_unlock_wait against concurrent lockers 2015-12-03 19:37:59 +00:00
stackprotector.h arm64: Add CONFIG_CC_STACKPROTECTOR 2014-07-09 12:23:48 +01:00
stacktrace.h arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
stat.h
string.h arm64: add KASAN support 2015-10-12 17:46:36 +01:00
suspend.h arm64: kernel: rename __cpu_suspend to keep it aligned with arm 2015-06-19 14:46:39 +01:00
sync_bitops.h
syscall.h arm64: Add audit support 2014-07-10 11:06:00 +01:00
sysreg.h arm64: Add macros to read/write system registers 2015-12-14 11:30:38 +00:00
system_misc.h arm64: use private ratelimit state along with show_unhandled_signals 2015-06-19 16:26:15 +01:00
thread_info.h arm64: Store struct thread_info in sp_el0 2015-12-08 11:40:48 +00:00
timex.h
tlb.h arm64: tlbflush: avoid flushing when fullmm == 1 2015-10-07 11:56:21 +01:00
tlbflush.h arm64: tlb: remove redundant barrier from __flush_tlb_pgtable 2015-10-07 11:56:33 +01:00
topology.h arm64: force CONFIG_SMP=y and remove redundant #ifdefs 2015-07-27 11:08:40 +01:00
traps.h arm64: Add __exception_irq_entry definition for function graph 2015-08-12 17:23:45 +01:00
uaccess.h arm64: kernel: Add support for Privileged Access Never 2015-07-27 11:08:41 +01:00
unistd32.h arm64: compat: wire up new syscalls 2015-10-14 13:51:41 +01:00
unistd.h arm64: compat: wire up new syscalls 2015-10-14 13:51:41 +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 arm64: dcache: select DCACHE_WORD_ACCESS for little-endian CPUs 2013-12-19 17:43:08 +00:00