linux_dsm_epyc7002/arch
Maciej Fijalkowski 4d0b8c0b46 bpf: x64: Do not emit sub/add 0, %rsp when !stack_depth
There is no particular reason for keeping the "sub 0, %rsp" insn within
the BPF's x64 JIT prologue.

When tail call code was skipping the whole prologue section these 7
bytes that represent the rsp subtraction could not be simply discarded
as the jump target address would be broken. An option to address that
would be to substitute it with nop7.

Right now tail call is skipping only first 11 bytes of target program's
prologue and "sub X, %rsp" is the first insn that is processed, so if
stack depth is zero then this insn could be omitted without the need for
nop7 swap.

Therefore, do not emit the "sub 0, %rsp" in prologue when program is not
making use of R10 register. Also, make the emission of "add X, %rsp"
conditional in tail call code logic and take into account the presence
of mentioned insn when calculating the jump offsets.

Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200929204653.4325-3-maciej.fijalkowski@intel.com
2020-09-29 16:47:39 -07:00
..
alpha treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
arc ARC fixes for 5.9-rc4 2020-09-05 13:46:14 -07:00
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-22 14:43:50 -07:00
arm64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-22 16:45:34 -07:00
c6x treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
csky treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
h8300 treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
hexagon treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ia64 ACPI: processor: Use CPUIDLE_FLAG_TLB_FLUSHED 2020-09-16 19:36:25 +02:00
m68k treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
microblaze microblaze: fix min_low_pfn/max_low_pfn build errors 2020-08-31 19:52:50 +03:00
mips Two small fixes for SNI machines 2020-09-17 11:30:36 -07:00
nds32 A set of fixes for lockdep, tracing and RCU: 2020-08-30 11:43:50 -07:00
nios2 mm/nios2: use general page fault accounting 2020-08-12 10:58:03 -07:00
openrisc OpenRISC fixes for 5.9-rc4 2020-09-12 13:03:49 -07:00
parisc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
powerpc powerpc fixes for 5.9 #5 2020-09-18 11:48:25 -07:00
riscv RISC-V Fixes for 5.9-rc6 (or shortly after) 2020-09-20 10:51:11 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-09-23 13:11:11 -07:00
sh sh: fix syscall tracing 2020-09-13 21:22:55 -04:00
sparc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
um treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
x86 bpf: x64: Do not emit sub/add 0, %rsp when !stack_depth 2020-09-29 16:47:39 -07:00
xtensa treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
.gitignore
Kconfig A set oftimekeeping/VDSO updates: 2020-08-14 14:26:08 -07:00