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 > 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 >