On Sun, Apr 3, 2022 at 6:24 PM Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote: > > On Sun, Apr 3, 2022 at 7:43 AM Yafang Shao <laoar.shao@xxxxxxxxx> wrote: > > > > In libbpf 1.0 API mode, it will bump rlimit automatically if there's no > > memcg-basaed accounting, so we can use libbpf 1.0 API mode instead in case also very eye catching typo: basaed -> based > > we want to run it in an old kernel. > > > > The constructor is renamed to bpf_strict_all_ctor(). > > > > Signed-off-by: Yafang Shao <laoar.shao@xxxxxxxxx> > > --- > > tools/testing/selftests/bpf/bpf_rlimit.h | 26 +++--------------------- > > 1 file changed, 3 insertions(+), 23 deletions(-) > > > > diff --git a/tools/testing/selftests/bpf/bpf_rlimit.h b/tools/testing/selftests/bpf/bpf_rlimit.h > > index 9dac9b30f8ef..d050f7d0bb5c 100644 > > --- a/tools/testing/selftests/bpf/bpf_rlimit.h > > +++ b/tools/testing/selftests/bpf/bpf_rlimit.h > > @@ -1,28 +1,8 @@ > > #include <sys/resource.h> > > #include <stdio.h> > > > > -static __attribute__((constructor)) void bpf_rlimit_ctor(void) > > +static __attribute__((constructor)) void bpf_strict_all_ctor(void) > > well, no, let's get rid of bpf_rlimit.h altogether. There is no need > for constructor magic when you can have an explicit > libbpf_set_strict_mode(LIBBPF_STRICT_ALL). > > > { > > - struct rlimit rlim_old, rlim_new = { > > - .rlim_cur = RLIM_INFINITY, > > - .rlim_max = RLIM_INFINITY, > > - }; > > - > > - getrlimit(RLIMIT_MEMLOCK, &rlim_old); > > - /* For the sake of running the test cases, we temporarily > > - * set rlimit to infinity in order for kernel to focus on > > - * errors from actual test cases and not getting noise > > - * from hitting memlock limits. The limit is on per-process > > - * basis and not a global one, hence destructor not really > > - * needed here. > > - */ > > - if (setrlimit(RLIMIT_MEMLOCK, &rlim_new) < 0) { > > - perror("Unable to lift memlock rlimit"); > > - /* Trying out lower limit, but expect potential test > > - * case failures from this! > > - */ > > - rlim_new.rlim_cur = rlim_old.rlim_cur + (1UL << 20); > > - rlim_new.rlim_max = rlim_old.rlim_max + (1UL << 20); > > - setrlimit(RLIMIT_MEMLOCK, &rlim_new); > > - } > > + /* Use libbpf 1.0 API mode */ > > + libbpf_set_strict_mode(LIBBPF_STRICT_ALL); > > } > > -- > > 2.17.1 > >