[PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable

Haiyue Wang posted 1 patch 1 year, 7 months ago
kernel/bpf/arena.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable
Posted by Haiyue Wang 1 year, 7 months ago
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 <haiyue.wang@intel.com>
---
 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
Re: [PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable
Posted by Alexei Starovoitov 1 year, 7 months ago
On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <haiyue.wang@intel.com> 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
Re: [PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable
Posted by Andrii Nakryiko 1 year, 7 months ago
On Tue, May 7, 2024 at 7:36 AM Alexei Starovoitov
<alexei.starovoitov@gmail.com> wrote:
>
> On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <haiyue.wang@intel.com> 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
Re: [PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable
Posted by Alexei Starovoitov 1 year, 7 months ago
On Tue, May 7, 2024 at 9:43 AM Andrii Nakryiko
<andrii.nakryiko@gmail.com> wrote:
>
> On Tue, May 7, 2024 at 7:36 AM Alexei Starovoitov
> <alexei.starovoitov@gmail.com> wrote:
> >
> > On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <haiyue.wang@intel.com> 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
Re: [PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable
Posted by Andrii Nakryiko 1 year, 7 months ago
On Tue, May 7, 2024 at 1:42 PM Alexei Starovoitov
<alexei.starovoitov@gmail.com> wrote:
>
> On Tue, May 7, 2024 at 9:43 AM Andrii Nakryiko
> <andrii.nakryiko@gmail.com> wrote:
> >
> > On Tue, May 7, 2024 at 7:36 AM Alexei Starovoitov
> > <alexei.starovoitov@gmail.com> wrote:
> > >
> > > On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <haiyue.wang@intel.com> 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
RE: [PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable
Posted by Wang, Haiyue 1 year, 7 months ago
> -----Original Message-----
> From: Andrii Nakryiko <andrii.nakryiko@gmail.com>
> Sent: Wednesday, May 8, 2024 05:21
> To: Alexei Starovoitov <alexei.starovoitov@gmail.com>
> Cc: Wang, Haiyue <haiyue.wang@intel.com>; bpf <bpf@vger.kernel.org>; Alexei Starovoitov
> <ast@kernel.org>; Daniel Borkmann <daniel@iogearbox.net>; Andrii Nakryiko <andrii@kernel.org>; Martin
> KaFai Lau <martin.lau@linux.dev>; Eduard Zingerman <eddyz87@gmail.com>; Song Liu <song@kernel.org>;
> Yonghong Song <yonghong.song@linux.dev>; John Fastabend <john.fastabend@gmail.com>; KP Singh
> <kpsingh@kernel.org>; Stanislav Fomichev <sdf@google.com>; Hao Luo <haoluo@google.com>; Jiri Olsa
> <jolsa@kernel.org>; open list <linux-kernel@vger.kernel.org>
> Subject: Re: [PATCH bpf-next v1] bpf,arena: Rename the kfunc set variable
> 
> On Tue, May 7, 2024 at 1:42 PM Alexei Starovoitov
> <alexei.starovoitov@gmail.com> wrote:
> >
> > On Tue, May 7, 2024 at 9:43 AM Andrii Nakryiko
> > <andrii.nakryiko@gmail.com> wrote:
> > >
> > > On Tue, May 7, 2024 at 7:36 AM Alexei Starovoitov
> > > <alexei.starovoitov@gmail.com> wrote:
> > > >
> > > > On Mon, May 6, 2024 at 7:46 PM Haiyue Wang <haiyue.wang@intel.com> 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