From: Jesper Dangaard Brouer <brouer@redhat.com>
To: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: kafai@fb.com, netdev@vger.kernel.org, eric@regit.org,
Daniel Borkmann <borkmann@iogearbox.net>,
brouer@redhat.com
Subject: Re: [net-next PATCH 1/4] samples/bpf: adjust rlimit RLIMIT_MEMLOCK for traceex2, tracex3 and tracex4
Date: Wed, 3 May 2017 10:12:13 +0200 [thread overview]
Message-ID: <20170503101213.7eece6c9@redhat.com> (raw)
In-Reply-To: <20170503005314.7oovr764r3e4elzd@ast-mbp>
On Tue, 2 May 2017 17:53:16 -0700
Alexei Starovoitov <alexei.starovoitov@gmail.com> wrote:
> On Tue, May 02, 2017 at 02:31:50PM +0200, Jesper Dangaard Brouer wrote:
> > Needed to adjust max locked memory RLIMIT_MEMLOCK for testing these bpf samples
> > as these are using more and larger maps than can fit in distro default 64Kbytes limit.
> >
> > Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
> ...
> > + struct rlimit r = {1024*1024, RLIM_INFINITY};
> ...
> > + struct rlimit r = {1024*1024, RLIM_INFINITY};
>
> why magic numbers?
> All other samples do
> struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
I just wanted to provide some examples showing that it is possible to
set some reasonable limit.
The RLIM_INFINITY setting is basically just disabling the kernels
memory limit checks, and it is sort of a bad coding pattern (that
people will copy) as the two example programs does not need much.
> > + if (setrlimit(RLIMIT_MEMLOCK, &r)) {
> > + perror("setrlimit(RLIMIT_MEMLOCK)");
>
> ip_tunnel.c test does:
> perror("setrlimit(RLIMIT_MEMLOCK, RLIM_INFINITY)");
> Few others do:
> assert(!setrlimit(RLIMIT_MEMLOCK, &r));
> and the rest just:
> setrlimit(RLIMIT_MEMLOCK, &r);
>
> We probalby need to move this to a helper.
>
> > + struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
>
> here it's consistent :)
>
> > + if (setrlimit(RLIMIT_MEMLOCK, &r)) {
> > + perror("setrlimit(RLIMIT_MEMLOCK, RLIM_INFINITY)");
>
> but with different perror ?
> Let's do a common helper for all?
Sure, it makes sense to streamline this into a helper, just not in this
patchset ;-) Lets do that later...
And I would argue that this helper should allow users to specify some
expected/reasonable memory usage size, as the kernel side checks would
then provide some value, instead of being effectively disabled. I can
easily imagine someone increasing a _kern.c hash map max size to
100 million, without realizing that this can OOM the machine.
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
next prev parent reply other threads:[~2017-05-03 8:12 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-02 12:31 [net-next PATCH 0/4] Improve bpf ELF-loader under samples/bpf Jesper Dangaard Brouer
2017-05-02 12:31 ` [net-next PATCH 1/4] samples/bpf: adjust rlimit RLIMIT_MEMLOCK for traceex2, tracex3 and tracex4 Jesper Dangaard Brouer
2017-05-03 0:53 ` Alexei Starovoitov
2017-05-03 8:12 ` Jesper Dangaard Brouer [this message]
2017-05-03 13:31 ` David Miller
2017-05-02 12:31 ` [net-next PATCH 2/4] samples/bpf: make bpf_load.c code compatible with ELF maps section changes Jesper Dangaard Brouer
2017-05-03 0:54 ` Alexei Starovoitov
2017-05-03 5:48 ` Jesper Dangaard Brouer
2017-05-02 12:32 ` [net-next PATCH 3/4] samples/bpf: load_bpf.c make callback fixup more flexible Jesper Dangaard Brouer
2017-05-02 12:32 ` [net-next PATCH 4/4] samples/bpf: export map_data[] for more info on maps Jesper Dangaard Brouer
2017-05-02 19:40 ` [net-next PATCH 0/4] Improve bpf ELF-loader under samples/bpf David Miller
2017-05-02 20:30 ` Daniel Borkmann
2017-05-02 21:10 ` Daniel Borkmann
2017-05-03 6:16 ` Jesper Dangaard Brouer
2017-05-03 11:48 ` Daniel Borkmann
2017-05-03 13:30 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170503101213.7eece6c9@redhat.com \
--to=brouer@redhat.com \
--cc=alexei.starovoitov@gmail.com \
--cc=borkmann@iogearbox.net \
--cc=eric@regit.org \
--cc=kafai@fb.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.