mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
bpf: Remove CONFIG_X86 and CONFIG_DYNAMIC_FTRACE guard from the tcp-cc kfuncs
The commit7aae231ac9
("bpf: tcp: Limit calling some tcp cc functions to CONFIG_DYNAMIC_FTRACE") added CONFIG_DYNAMIC_FTRACE guard because pahole was only generating btf for ftrace-able functions. The ftrace filter had already been removed from pahole, so the CONFIG_DYNAMIC_FTRACE guard can be removed. The commit569c484f99
("bpf: Limit static tcp-cc functions in the .BTF_ids list to x86") has added CONFIG_X86 guard because it failed the powerpc arch which prepended a "." to the local static function, so "cubictcp_init" becomes ".cubictcp_init". "__bpf_kfunc" has been added to kfunc since then and it uses the __unused compiler attribute. There is an existing "__bpf_kfunc static u32 bpf_kfunc_call_test_static_unused_arg(u32 arg, u32 unused)" test in bpf_testmod.c to cover the static kfunc case. cross compile on ppc64 with CONFIG_DYNAMIC_FTRACE disabled: > readelf -s vmlinux | grep cubictcp_ 56938: c00000000144fd00 184 FUNC LOCAL DEFAULT 2 cubictcp_cwnd_event [<localentry>: 8] 56939: c00000000144fdb8 200 FUNC LOCAL DEFAULT 2 cubictcp_recalc_[...] [<localentry>: 8] 56940: c00000000144fe80 296 FUNC LOCAL DEFAULT 2 cubictcp_init [<localentry>: 8] 56941: c00000000144ffa8 228 FUNC LOCAL DEFAULT 2 cubictcp_state [<localentry>: 8] 56942: c00000000145008c 1908 FUNC LOCAL DEFAULT 2 cubictcp_cong_avoid [<localentry>: 8] 56943: c000000001450800 1644 FUNC LOCAL DEFAULT 2 cubictcp_acked [<localentry>: 8] > bpftool btf dump file vmlinux | grep cubictcp_ [51540] FUNC 'cubictcp_acked' type_id=38137 linkage=static [51541] FUNC 'cubictcp_cong_avoid' type_id=38122 linkage=static [51543] FUNC 'cubictcp_cwnd_event' type_id=51542 linkage=static [51544] FUNC 'cubictcp_init' type_id=9186 linkage=static [51545] FUNC 'cubictcp_recalc_ssthresh' type_id=35021 linkage=static [51547] FUNC 'cubictcp_state' type_id=38141 linkage=static The patch removed both config guards. Cc: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org> Link: https://lore.kernel.org/r/20240322191433.4133280-1-martin.lau@linux.dev Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
ee3bad033d
commit
42e4ebd390
@ -1156,8 +1156,6 @@ static struct tcp_congestion_ops tcp_bbr_cong_ops __read_mostly = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
BTF_KFUNCS_START(tcp_bbr_check_kfunc_ids)
|
BTF_KFUNCS_START(tcp_bbr_check_kfunc_ids)
|
||||||
#ifdef CONFIG_X86
|
|
||||||
#ifdef CONFIG_DYNAMIC_FTRACE
|
|
||||||
BTF_ID_FLAGS(func, bbr_init)
|
BTF_ID_FLAGS(func, bbr_init)
|
||||||
BTF_ID_FLAGS(func, bbr_main)
|
BTF_ID_FLAGS(func, bbr_main)
|
||||||
BTF_ID_FLAGS(func, bbr_sndbuf_expand)
|
BTF_ID_FLAGS(func, bbr_sndbuf_expand)
|
||||||
@ -1166,8 +1164,6 @@ BTF_ID_FLAGS(func, bbr_cwnd_event)
|
|||||||
BTF_ID_FLAGS(func, bbr_ssthresh)
|
BTF_ID_FLAGS(func, bbr_ssthresh)
|
||||||
BTF_ID_FLAGS(func, bbr_min_tso_segs)
|
BTF_ID_FLAGS(func, bbr_min_tso_segs)
|
||||||
BTF_ID_FLAGS(func, bbr_set_state)
|
BTF_ID_FLAGS(func, bbr_set_state)
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
BTF_KFUNCS_END(tcp_bbr_check_kfunc_ids)
|
BTF_KFUNCS_END(tcp_bbr_check_kfunc_ids)
|
||||||
|
|
||||||
static const struct btf_kfunc_id_set tcp_bbr_kfunc_set = {
|
static const struct btf_kfunc_id_set tcp_bbr_kfunc_set = {
|
||||||
|
@ -486,16 +486,12 @@ static struct tcp_congestion_ops cubictcp __read_mostly = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
BTF_KFUNCS_START(tcp_cubic_check_kfunc_ids)
|
BTF_KFUNCS_START(tcp_cubic_check_kfunc_ids)
|
||||||
#ifdef CONFIG_X86
|
|
||||||
#ifdef CONFIG_DYNAMIC_FTRACE
|
|
||||||
BTF_ID_FLAGS(func, cubictcp_init)
|
BTF_ID_FLAGS(func, cubictcp_init)
|
||||||
BTF_ID_FLAGS(func, cubictcp_recalc_ssthresh)
|
BTF_ID_FLAGS(func, cubictcp_recalc_ssthresh)
|
||||||
BTF_ID_FLAGS(func, cubictcp_cong_avoid)
|
BTF_ID_FLAGS(func, cubictcp_cong_avoid)
|
||||||
BTF_ID_FLAGS(func, cubictcp_state)
|
BTF_ID_FLAGS(func, cubictcp_state)
|
||||||
BTF_ID_FLAGS(func, cubictcp_cwnd_event)
|
BTF_ID_FLAGS(func, cubictcp_cwnd_event)
|
||||||
BTF_ID_FLAGS(func, cubictcp_acked)
|
BTF_ID_FLAGS(func, cubictcp_acked)
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
BTF_KFUNCS_END(tcp_cubic_check_kfunc_ids)
|
BTF_KFUNCS_END(tcp_cubic_check_kfunc_ids)
|
||||||
|
|
||||||
static const struct btf_kfunc_id_set tcp_cubic_kfunc_set = {
|
static const struct btf_kfunc_id_set tcp_cubic_kfunc_set = {
|
||||||
|
@ -261,16 +261,12 @@ static struct tcp_congestion_ops dctcp_reno __read_mostly = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
BTF_KFUNCS_START(tcp_dctcp_check_kfunc_ids)
|
BTF_KFUNCS_START(tcp_dctcp_check_kfunc_ids)
|
||||||
#ifdef CONFIG_X86
|
|
||||||
#ifdef CONFIG_DYNAMIC_FTRACE
|
|
||||||
BTF_ID_FLAGS(func, dctcp_init)
|
BTF_ID_FLAGS(func, dctcp_init)
|
||||||
BTF_ID_FLAGS(func, dctcp_update_alpha)
|
BTF_ID_FLAGS(func, dctcp_update_alpha)
|
||||||
BTF_ID_FLAGS(func, dctcp_cwnd_event)
|
BTF_ID_FLAGS(func, dctcp_cwnd_event)
|
||||||
BTF_ID_FLAGS(func, dctcp_ssthresh)
|
BTF_ID_FLAGS(func, dctcp_ssthresh)
|
||||||
BTF_ID_FLAGS(func, dctcp_cwnd_undo)
|
BTF_ID_FLAGS(func, dctcp_cwnd_undo)
|
||||||
BTF_ID_FLAGS(func, dctcp_state)
|
BTF_ID_FLAGS(func, dctcp_state)
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
BTF_KFUNCS_END(tcp_dctcp_check_kfunc_ids)
|
BTF_KFUNCS_END(tcp_dctcp_check_kfunc_ids)
|
||||||
|
|
||||||
static const struct btf_kfunc_id_set tcp_dctcp_kfunc_set = {
|
static const struct btf_kfunc_id_set tcp_dctcp_kfunc_set = {
|
||||||
|
Loading…
Reference in New Issue
Block a user