linux_dsm_epyc7002/arch
Daniel Borkmann 34b8ab091f bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd
Since ARMv8.1 supplement introduced LSE atomic instructions back in 2016,
lets add support for STADD and use that in favor of LDXR / STXR loop for
the XADD mapping if available. STADD is encoded as an alias for LDADD with
XZR as the destination register, therefore add LDADD to the instruction
encoder along with STADD as special case and use it in the JIT for CPUs
that advertise LSE atomics in CPUID register. If immediate offset in the
BPF XADD insn is 0, then use dst register directly instead of temporary
one.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2019-04-26 18:53:40 -07:00
..
alpha net: socket: implement 64-bit timestamps 2019-04-19 14:07:40 -07:00
arc syscalls: Remove start and number from syscall_get_arguments() args 2019-04-05 09:26:43 -04:00
arm ARM: SoC fixes 2019-04-07 13:46:17 -10:00
arm64 bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd 2019-04-26 18:53:40 -07:00
c6x syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
csky syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
h8300 syscalls: Remove start and number from syscall_get_arguments() args 2019-04-05 09:26:43 -04:00
hexagon syscalls: Remove start and number from syscall_get_arguments() args 2019-04-05 09:26:43 -04:00
ia64 asm-generic: generalize asm/sockios.h 2019-04-19 14:07:40 -07:00
m68k KVM: export <linux/kvm_para.h> and <asm/kvm_para.h> iif KVM is supported 2019-03-28 17:27:42 +01:00
microblaze syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
mips net: socket: implement 64-bit timestamps 2019-04-19 14:07:40 -07:00
nds32 syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
nios2 syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
openrisc syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
parisc asm-generic: generalize asm/sockios.h 2019-04-19 14:07:40 -07:00
powerpc powerpc fixes for 5.1 #5 2019-04-13 09:03:09 -07:00
riscv RISC-V: Fix Maximum Physical Memory 2GiB option for 64bit systems 2019-04-10 09:41:40 -07:00
s390 syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
sh net: socket: implement 64-bit timestamps 2019-04-19 14:07:40 -07:00
sparc asm-generic: generalize asm/sockios.h 2019-04-19 14:07:40 -07:00
um syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
unicore32 KVM: export <linux/kvm_para.h> and <asm/kvm_para.h> iif KVM is supported 2019-03-28 17:27:42 +01:00
x86 asm-generic: generalize asm/sockios.h 2019-04-19 14:07:40 -07:00
xtensa net: socket: implement 64-bit timestamps 2019-04-19 14:07:40 -07:00
.gitignore
Kconfig Char/Misc driver patches for 5.1-rc1 2019-03-06 14:18:59 -08:00