bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eduard Zingerman <eddyz87@gmail.com>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: bpf@vger.kernel.org, ast@kernel.org, andrii@kernel.org,
	daniel@iogearbox.net,  martin.lau@linux.dev, kernel-team@fb.com,
	yonghong.song@linux.dev,  jose.marchesi@oracle.com,
	alan.maguire@oracle.com
Subject: Re: [PATCH bpf-next v2 2/4] libbpf: API to access btf_dump emit queue and print single type
Date: Sat, 01 Jun 2024 00:22:48 -0700	[thread overview]
Message-ID: <fbb23a418f892cb50470971f8966958f87329b93.camel@gmail.com> (raw)
In-Reply-To: <CAEf4BzbUPTU__d4G3dt6Rga+aNG=kLRxsBM4LJMhYfMKy+RSfQ@mail.gmail.com>

On Tue, 2024-05-28 at 15:18 -0700, Andrii Nakryiko wrote:

[...]

> Speaking of which, for the next revision, can you also integrate all
> these new APIs into bpftool to handle the problem that Jose tried to
> solve? This might also expose any of the potential issues with API
> usage.

Hi Andrii,

Good foresight requesting to re-implement Jose's patch on top of the
new API. I did the changes you requested for v1 + tried to make the
bpftool changes, results are here:

https://github.com/eddyz87/bpf/tree/libbpf-sort-for-dump-api-2

The attempt falls flat for the following pattern:

  #define __pai __attribute__((preserve_access_index))
  typedef struct { int x; } foo  __pai;

With the following clang error:

  t.c:2:31: error: 'preserve_access_index' attribute only applies to structs, unions, and classes
    2 | typedef struct { int x; } foo __pai;

The correct syntax for this definition is as below:

  typedef struct { int x; } __pai foo;

This cannot be achieved unless printing of typedefs is done by some
custom code in bpftool.

So, it looks like we won't be able to ditch callbacks in the end.
Maybe the code for emit queue could be salvaged for the module thing
you talked about, please provide a bit more context about it.

Thanks,
Eduard

  parent reply	other threads:[~2024-06-01  7:22 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-17 19:05 [PATCH bpf-next v2 0/4] API to access btf_dump emit queue and print single type Eduard Zingerman
2024-05-17 19:05 ` [PATCH bpf-next v2 1/4] libbpf: put forward declarations to btf_dump->emit_queue Eduard Zingerman
2024-05-28 22:05   ` Andrii Nakryiko
2024-05-28 22:25     ` Eduard Zingerman
2024-05-28 22:39       ` Andrii Nakryiko
2024-05-28 22:41         ` Eduard Zingerman
2024-05-17 19:05 ` [PATCH bpf-next v2 2/4] libbpf: API to access btf_dump emit queue and print single type Eduard Zingerman
2024-05-28 22:18   ` Andrii Nakryiko
2024-05-28 22:53     ` Eduard Zingerman
2024-05-28 23:19       ` Andrii Nakryiko
2024-05-28 23:39         ` Eduard Zingerman
2024-06-01  7:22     ` Eduard Zingerman [this message]
2024-06-04 17:39       ` Andrii Nakryiko
2024-05-17 19:05 ` [PATCH bpf-next v2 3/4] selftests/bpf: tests for btf_dump emit queue API Eduard Zingerman
2024-05-17 19:05 ` [PATCH bpf-next v2 4/4] selftests/bpf: corner case for typedefs handling in btf_dump Eduard Zingerman

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=fbb23a418f892cb50470971f8966958f87329b93.camel@gmail.com \
    --to=eddyz87@gmail.com \
    --cc=alan.maguire@oracle.com \
    --cc=andrii.nakryiko@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=jose.marchesi@oracle.com \
    --cc=kernel-team@fb.com \
    --cc=martin.lau@linux.dev \
    --cc=yonghong.song@linux.dev \
    /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).