bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gilad Reti <gilad.reti@gmail.com>
To: "Toke Høiland-Jørgensen" <toke@redhat.com>
Cc: bpf <bpf@vger.kernel.org>, Andrii Nakryiko <andrii@kernel.org>
Subject: Re: libbpf: pinning multiple progs from the same section
Date: Mon, 8 Feb 2021 13:57:52 +0200	[thread overview]
Message-ID: <CANaYP3GxKrjuUUTGaAjYGqwPCNzPJBNPQGMMCNaoHT4rfsYUfA@mail.gmail.com> (raw)
In-Reply-To: <87v9b2u6pa.fsf@toke.dk>

On Mon, Feb 8, 2021 at 1:42 PM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
>
> Gilad Reti <gilad.reti@gmail.com> writes:
>
> > Also, is there a way to set the pin path to all maps/programs at once?
> > For example, bpf_object__pin_maps pins all maps at a specific path,
> > but as far as I was able to find there is no similar function to set
> > the pin path for all maps only (without pinning) so that at loading
> > time libbpf will try to reuse all maps. The only way to achieve a
> > complete reuse of all maps that I could find is to "reverse engineer"
> > libbpf's pin path generation algorithm (i.e. <path>/<map_name>) and
> > set the pin path on each map before load.
>
> You can set the 'pinning' attribute in the map definition - add
> '__uint(pinning, LIBBPF_PIN_BY_NAME);' to the map struct. By default
> this will pin beneath /sys/fs/bpf, but you can customise that by setting
> the pin_root_path attribute in bpf_object_open_opts.

Yes, I am familiar with that feature, but it has some downsides:
1. I need to set it manually on every map (and in cases that I have
only the compiled object file that would be hard).
2. It only works for bpf maps and not bpf programs.
3. It only works for bpf maps that are defined explicitly in the bpf
code and not for implicit (inner) bpf maps (bss, rodata, etc).

>
> -Toke
>

  reply	other threads:[~2021-02-08 12:01 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-07 11:35 libbpf: pinning multiple progs from the same section Gilad Reti
2021-02-08  8:57 ` Gilad Reti
2021-02-08 11:42   ` Toke Høiland-Jørgensen
2021-02-08 11:57     ` Gilad Reti [this message]
2021-02-08 14:28       ` Toke Høiland-Jørgensen
2021-02-08 14:44         ` Gilad Reti
2021-02-08 15:09           ` Toke Høiland-Jørgensen
2021-02-08 15:50             ` Gilad Reti
2021-02-08 17:55               ` Toke Høiland-Jørgensen
2021-02-08 18:19                 ` Gilad Reti
2021-02-08 19:16                   ` Toke Høiland-Jørgensen
2021-02-09  8:35                     ` Gilad Reti
2021-02-09 11:03                       ` Toke Høiland-Jørgensen
2021-02-10 20:04                         ` Andrii Nakryiko
2021-02-08 22:36 ` Andrii Nakryiko

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=CANaYP3GxKrjuUUTGaAjYGqwPCNzPJBNPQGMMCNaoHT4rfsYUfA@mail.gmail.com \
    --to=gilad.reti@gmail.com \
    --cc=andrii@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=toke@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).