summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/exported-sql-viewer.py
diff options
context:
space:
mode:
authorKumar Kartikeya Dwivedi <memxor@gmail.com>2026-07-21 20:15:08 +0200
committerKumar Kartikeya Dwivedi <memxor@gmail.com>2026-07-21 20:19:14 +0200
commit2f2223a993aef8be52a029e15aa56f9ac924cf3e (patch)
tree5ec9d47ab76104ada30e85b7aeabd4fec4800783 /tools/perf/scripts/python/exported-sql-viewer.py
parent7c25590d03abcb5424723f90641fda5b6cefffc8 (diff)
parent683ed8b78c1d03bdddb17188b45ea803761d6d5f (diff)
Merge branch 'mixing-bpf2bpf-and-tailcalls-for-rv64'
Pu Lehui says: ==================== Mixing bpf2bpf and tailcalls for RV64 In the current RV64 JIT, if we just don't initialize the TCC in subprog, the TCC can be propagated from the parent process to the subprocess, but the updated TCC of the parent process cannot be restored when the subprocess exits. Since the RV64 TCC is initialized before saving the callee saved registers into the stack, we cannot use the callee saved register to pass the TCC, otherwise the original value of the callee saved register will be destroyed. So we implemented mixing bpf2bpf and tailcalls similar to x86_64, i.e. using a non-callee saved register to transfer the TCC between functions, and saving that register to the stack to protect the TCC value. As for the tailcall hierarchy issue, inspired by the s390's low-overhead approach, we store TCC from RV_REG_TCC back to stack after calling bpf2bpf call or calling orig bpf func in bpf trampoline. In addition, some code cleans are also attached to this patchset. Tests test_bpf.ko and test_verifier have passed, as well as the relative testcases of test_progs*. v6: - Add new patch to fix memory leak in bpf_jit_free. (Sashiko) v5: https://lore.kernel.org/bpf/20260707142219.2871758-1-pulehui@huaweicloud.com - Fix TCC value was not restored to RV_REG_TCC upon trampoline exit, resulting in an infinite tail call. (Sashiko) - Fix epilogue not restored TCC value to RV_REG_TCC, resulting in leaf tailcall callee may clobbered RV_REG_TCC. (Sashiko) - Remove patch of `Remove ctx->offset initialization` as it would hit some corner case. (Sashiko) - Fix double-count kcfi insn when tailcall to target. (Sashiko) - Add detail for selftest commit message. (BPF BOT) v4: https://lore.kernel.org/bpf/20260629140048.733346-1-pulehui@huaweicloud.com - Fix tailcall hierarchy issue. - use is_struct_ops_tramp helper in bpf trampoline v3: https://lore.kernel.org/bpf/20240201083351.943121-1-pulehui@huaweicloud.com - Remove duplicate RV_REG_TCC load in epiloguei. (Björn Töpel) v2: https://lore.kernel.org/bpf/20240130040958.230673-1-pulehui@huaweicloud.com - Fix emit restore RV_REG_TCC double times when `flags & BPF_TRAMP_F_CALL_ORIG` - Use bpf_is_subprog helper v1: https://lore.kernel.org/bpf/20230919035711.3297256-1-pulehui@huaweicloud.com ==================== Link: https://patch.msgid.link/20260708064436.2971933-1-pulehui@huaweicloud.com Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions