All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Alan Maguire <alan.maguire@oracle.com>
Cc: Matthew Maurer <mmaurer@google.com>,
	rust-for-linux@vger.kernel.org, dwarves@vger.kernel.org,
	aliceryhl@google.com
Subject: Re: [PATCH v2] pahole: Apply CU-level filters early in loading
Date: Fri, 9 Aug 2024 10:51:06 -0300	[thread overview]
Message-ID: <ZrYeyjyuHiJyj7Xf@x1> (raw)
In-Reply-To: <ZrYPVQwJePB-nyO2@x1>

On Fri, Aug 09, 2024 at 09:45:13AM -0300, Arnaldo Carvalho de Melo wrote:
> On Tue, Aug 06, 2024 at 01:10:03PM +0100, Alan Maguire wrote:
> > On 01/08/2024 19:50, Matthew Maurer wrote:
> > > Without this, even with `--lang_exclude=rust` set, running on `vmlinux`
> > > with `CONFIG_RUST` enabled will lead to errors like:
> > > die__process_function: tag not supported 0x2f (template_type_parameter)!
> > > because the filtering doesn't happen until finalization, but unsupported
> > > tags are reported during loading.
> > > 
> > > As an added bonus, this should speed up processing of large objects with
> > > filtered CUs, as their details will no longer be walked.
> > > 
> > > Signed-off-by: Matthew Maurer <mmaurer@google.com>
> > 
> > LGTM, thanks!
> > 
> > Reviewed-by: Alan Maguire <alan.maguire@oracle.com>
> > Tested-by: Alan Maguire <alan.maguire@oracle.com>
> 
> Thanks, I just split it into two patches, one adding the new early
> filtering facility and with the second making then use of this new
> facility in pahole:
> 
> ⬢[acme@toolbox pahole]$ git log --oneline -5
> fbcca0f6c2fbeb52 (HEAD -> master) pahole: Do --languages_exclude CU filtering earlier
> 1f8d83d16d6d6dfa dwarf_loader: Allow filtering CUs  early in loading

Tested building a kernel with CONFIG_RUST, no warnings (that
template_type_param wouldn't appear anyway as I added initial support
for it, at least for creating some structs out of its DWARF info, so no
more warnings), but:

⬢[acme@toolbox linux]$ pahole -C '<kernel::str::RawFormatter as core::fmt::Write>::{vtable_type}' ../build/rust-kernel/rust/kernel.o 
die__process_class: tag not supported 0x33 (variant_part) at <14f43>!
struct <kernel::str::RawFormatter as core::fmt::Write>::{vtable_type} {
	() *                       drop_in_place __attribute__((__aligned__(8))); /*     0     8 */
	usize                      size __attribute__((__aligned__(8))); /*     8     8 */
	usize                      align __attribute__((__aligned__(8))); /*    16     8 */
	() *                       __method3 __attribute__((__aligned__(8))); /*    24     8 */
	() *                       __method4 __attribute__((__aligned__(8))); /*    32     8 */
	() *                       __method5 __attribute__((__aligned__(8))); /*    40     8 */

	/* size: 48, cachelines: 1, members: 6 */
	/* forced alignments: 6 */
	/* last cacheline: 48 bytes */
} __attribute__((__aligned__(8)));

⬢[acme@toolbox linux]$

That DW_TAG_variant_part warning would show up without this series, so
seems to be working as expected :-)

- Arnaldo

      reply	other threads:[~2024-08-09 13:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-01 18:50 [PATCH v2] pahole: Apply CU-level filters early in loading Matthew Maurer
2024-08-06 12:10 ` Alan Maguire
2024-08-09 12:45   ` Arnaldo Carvalho de Melo
2024-08-09 13:51     ` Arnaldo Carvalho de Melo [this message]

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=ZrYeyjyuHiJyj7Xf@x1 \
    --to=acme@kernel.org \
    --cc=alan.maguire@oracle.com \
    --cc=aliceryhl@google.com \
    --cc=dwarves@vger.kernel.org \
    --cc=mmaurer@google.com \
    --cc=rust-for-linux@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.