Rename the kfunc set variable to specify the 'arena' function scope,
although the 'UNSPEC' type BPF program is mapped to 'COMMON' hook.
And there is 'common_kfunc_set' defined for real 'common' function in
file 'kernel/bpf/helpers.c'.
Signed-off-by: Haiyue Wang <[email protected]>
---
kernel/bpf/arena.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/bpf/arena.c b/kernel/bpf/arena.c
index 6c81630c5293..ef2177c0465f 100644
--- a/kernel/bpf/arena.c
+++ b/kernel/bpf/arena.c
@@ -557,13 +557,13 @@ BTF_ID_FLAGS(func, bpf_arena_alloc_pages, KF_TRUSTED_ARGS | KF_SLEEPABLE)
BTF_ID_FLAGS(func, bpf_arena_free_pages, KF_TRUSTED_ARGS | KF_SLEEPABLE)
BTF_KFUNCS_END(arena_kfuncs)
-static const struct btf_kfunc_id_set common_kfunc_set = {
+static const struct btf_kfunc_id_set arena_kfunc_set = {
.owner = THIS_MODULE,
.set = &arena_kfuncs,
};
static int __init kfunc_init(void)
{
- return register_btf_kfunc_id_set(BPF_PROG_TYPE_UNSPEC, &common_kfunc_set);
+ return register_btf_kfunc_id_set(BPF_PROG_TYPE_UNSPEC, &arena_kfunc_set);
}
late_initcall(kfunc_init);
--
2.43.2
On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <[email protected]> wrote:
>
> Rename the kfunc set variable to specify the 'arena' function scope,
> although the 'UNSPEC' type BPF program is mapped to 'COMMON' hook.
>
> And there is 'common_kfunc_set' defined for real 'common' function in
> file 'kernel/bpf/helpers.c'.
I think common_kfunc_set is a better name to describe that these
two kfuncs are in a common category.
BPF_PROG_TYPE_UNSPEC is a lot less obvious.
There are two static common_kfunc_set in helpers.c and arena.c
and that's fine.
pw-bot: cr
On Tue, May 7, 2024 at 7:36 AM Alexei Starovoitov
<[email protected]> wrote:
>
> On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <[email protected]> wrote:
> >
> > Rename the kfunc set variable to specify the 'arena' function scope,
> > although the 'UNSPEC' type BPF program is mapped to 'COMMON' hook.
> >
> > And there is 'common_kfunc_set' defined for real 'common' function in
> > file 'kernel/bpf/helpers.c'.
>
> I think common_kfunc_set is a better name to describe that these
> two kfuncs are in a common category.
> BPF_PROG_TYPE_UNSPEC is a lot less obvious.
>
> There are two static common_kfunc_set in helpers.c and arena.c
> and that's fine.
it is actually confusing when reading/grepping code, though, so why
not have arena_common_kfunc_set and whatever the meaningful
"qualifier" name for the other one?
>
> pw-bot: cr
On Tue, May 7, 2024 at 9:43 AM Andrii Nakryiko
<[email protected]> wrote:
>
> On Tue, May 7, 2024 at 7:36 AM Alexei Starovoitov
> <[email protected]> wrote:
> >
> > On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <[email protected]> wrote:
> > >
> > > Rename the kfunc set variable to specify the 'arena' function scope,
> > > although the 'UNSPEC' type BPF program is mapped to 'COMMON' hook.
> > >
> > > And there is 'common_kfunc_set' defined for real 'common' function in
> > > file 'kernel/bpf/helpers.c'.
> >
> > I think common_kfunc_set is a better name to describe that these
> > two kfuncs are in a common category.
> > BPF_PROG_TYPE_UNSPEC is a lot less obvious.
> >
> > There are two static common_kfunc_set in helpers.c and arena.c
> > and that's fine.
>
> it is actually confusing when reading/grepping code, though, so why
What's the confusion? Same name static var in different files?
There are tons of such cases in the kernel src tree.
> not have arena_common_kfunc_set and whatever the meaningful
> "qualifier" name for the other one?
arena_common_kfunc_set is certainly better than arena_kfunc_set,
but I don't like to make the precedent to start renaming static vars
because they have the same name.
> >
> > pw-bot: cr
On Tue, May 7, 2024 at 1:42 PM Alexei Starovoitov
<[email protected]> wrote:
>
> On Tue, May 7, 2024 at 9:43 AM Andrii Nakryiko
> <[email protected]> wrote:
> >
> > On Tue, May 7, 2024 at 7:36 AM Alexei Starovoitov
> > <[email protected]> wrote:
> > >
> > > On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <haiyue.wang@intelcom> wrote:
> > > >
> > > > Rename the kfunc set variable to specify the 'arena' function scope,
> > > > although the 'UNSPEC' type BPF program is mapped to 'COMMON' hook.
> > > >
> > > > And there is 'common_kfunc_set' defined for real 'common' function in
> > > > file 'kernel/bpf/helpers.c'.
> > >
> > > I think common_kfunc_set is a better name to describe that these
> > > two kfuncs are in a common category.
> > > BPF_PROG_TYPE_UNSPEC is a lot less obvious.
> > >
> > > There are two static common_kfunc_set in helpers.c and arena.c
> > > and that's fine.
> >
> > it is actually confusing when reading/grepping code, though, so why
>
> What's the confusion? Same name static var in different files?
Not in general, but in this case it's arena-specific kfuncs for all
program types, and it's initialized with &arena_kfuncs, so it would be
matching to have some "arena" mention in the name. But it's minor,
let's keep it.
> There are tons of such cases in the kernel src tree.
>
> > not have arena_common_kfunc_set and whatever the meaningful
> > "qualifier" name for the other one?
>
> arena_common_kfunc_set is certainly better than arena_kfunc_set,
> but I don't like to make the precedent to start renaming static vars
> because they have the same name.
>
> > >
> > > pw-bot: cr
> -----Original Message-----
> From: Andrii Nakryiko <[email protected]>
> Sent: Wednesday, May 8, 2024 05:21
> To: Alexei Starovoitov <[email protected]>
> Cc: Wang, Haiyue <[email protected]>; bpf <[email protected]>; Alexei Starovoitov
> <[email protected]>; Daniel Borkmann <[email protected]>; Andrii Nakryiko <[email protected]>; Martin
> KaFai Lau <[email protected]>; Eduard Zingerman <[email protected]>; Song Liu <[email protected]>;
> Yonghong Song <[email protected]>; John Fastabend <[email protected]>; KP Singh
> <[email protected]>; Stanislav Fomichev <[email protected]>; Hao Luo <[email protected]>; Jiri Olsa
> <[email protected]>; open list <[email protected]>
> Subject: Re: [PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable
>
> On Tue, May 7, 2024 at 1:42 PM Alexei Starovoitov
> <[email protected]> wrote:
> >
> > On Tue, May 7, 2024 at 9:43 AM Andrii Nakryiko
> > <[email protected]> wrote:
> > >
> > > On Tue, May 7, 2024 at 7:36 AM Alexei Starovoitov
> > > <[email protected]> wrote:
> > > >
> > > > On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <[email protected]> wrote:
> > > > >
> > > > > Rename the kfunc set variable to specify the 'arena' function scope,
> > > > > although the 'UNSPEC' type BPF program is mapped to 'COMMON' hook.
> > > > >
> > > > > And there is 'common_kfunc_set' defined for real 'common' function in
> > > > > file 'kernel/bpf/helpers.c'.
> > > >
> > > > I think common_kfunc_set is a better name to describe that these
> > > > two kfuncs are in a common category.
> > > > BPF_PROG_TYPE_UNSPEC is a lot less obvious.
> > > >
> > > > There are two static common_kfunc_set in helpers.c and arena.c
> > > > and that's fine.
> > >
> > > it is actually confusing when reading/grepping code, though, so why
> >
> > What's the confusion? Same name static var in different files?
>
> Not in general, but in this case it's arena-specific kfuncs for all
> program types, and it's initialized with &arena_kfuncs, so it would be
Yes, the original idea is to try match some kind of map style:
common_kfunc_set.set = &common_btf_ids
> matching to have some "arena" mention in the name. But it's minor,
> let's keep it.
>
> > There are tons of such cases in the kernel src tree.
> >
> > > not have arena_common_kfunc_set and whatever the meaningful
> > > "qualifier" name for the other one?
> >
> > arena_common_kfunc_set is certainly better than arena_kfunc_set,
> > but I don't like to make the precedent to start renaming static vars
> > because they have the same name.
From the category point of view, "arena" should be "common" function, and
make sense to name "common_kfunc_set". ;-)
> >
> > > >
> > > > pw-bot: cr