bpf, riscv: Optimize BPF_JMP BPF_K when imm == 0 on RV64
authorLuke Nelson <lukenels@cs.washington.edu>
Wed, 6 May 2020 00:03:19 +0000 (17:03 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 6 May 2020 07:48:15 +0000 (09:48 +0200)
commitca349a6a104e58479defdc08ce56472a48f7cb81
treed597679f49d864c875930ea34c87350d7b230e88
parent21a099abb765c3754689e1f7ca4536fa560112d0
bpf, riscv: Optimize BPF_JMP BPF_K when imm == 0 on RV64

This patch adds an optimization to BPF_JMP (32- and 64-bit) BPF_K for
when the BPF immediate is zero.

When the immediate is zero, the code can directly use the RISC-V zero
register instead of loading a zero immediate to a temporary register
first.

Co-developed-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luke Nelson <luke.r.nels@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Björn Töpel <bjorn.topel@gmail.com>
Acked-by: Björn Töpel <bjorn.topel@gmail.com>
Link: https://lore.kernel.org/bpf/20200506000320.28965-4-luke.r.nels@gmail.com
arch/riscv/net/bpf_jit_comp64.c