Re: [PATCH bpf-next] bpf: add 'BPF_RB_MAY_WAKEUP' flag

From: Andrii Nakryiko
Date: Sat Apr 03 2021 - 11:51:52 EST


On Sat, Apr 3, 2021 at 6:34 AM Pedro Tammela <pctammela@xxxxxxxxx> wrote:
>
> Em qua., 31 de mar. de 2021 às 03:54, Andrii Nakryiko
> <andrii.nakryiko@xxxxxxxxx> escreveu:
> >
> > On Sun, Mar 28, 2021 at 9:11 AM Pedro Tammela <pctammela@xxxxxxxxx> wrote:
> > >
> > > The current way to provide a no-op flag to 'bpf_ringbuf_submit()',
> > > 'bpf_ringbuf_discard()' and 'bpf_ringbuf_output()' is to provide a '0'
> > > value.
> > >
> > > A '0' value might notify the consumer if it already caught up in processing,
> > > so let's provide a more descriptive notation for this value.
> > >
> > > Signed-off-by: Pedro Tammela <pctammela@xxxxxxxxxxxx>
> > > ---
> >
> > flags == 0 means "no extra modifiers of behavior". That's default
> > adaptive notification. If you want to adjust default behavior, only
> > then you specify non-zero flags. I don't think anyone will bother
> > typing BPF_RB_MAY_WAKEUP for this, nor I think it's really needed. The
> > documentation update is nice (if no flags are specified notification
> > will be sent if needed), but the new "pseudo-flag" seems like an
> > overkill to me.
>
> My intention here is to make '0' more descriptive.
> But if you think just the documentation update is enough, then I will
> remove the flag.

flags == 0 means "default behavior", I don't think you have to
remember which verbose flag you need to specify for that, so I think
just expanding documentation is sufficient and better. Thanks!

>
> >
> > > include/uapi/linux/bpf.h | 8 ++++++++
> > > tools/include/uapi/linux/bpf.h | 8 ++++++++
> > > tools/testing/selftests/bpf/progs/ima.c | 2 +-
> > > tools/testing/selftests/bpf/progs/ringbuf_bench.c | 2 +-
> > > tools/testing/selftests/bpf/progs/test_ringbuf.c | 2 +-
> > > tools/testing/selftests/bpf/progs/test_ringbuf_multi.c | 2 +-
> > > 6 files changed, 20 insertions(+), 4 deletions(-)
> > >
> >
> > [...]