[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAP-5=fUGNDzVPt60J3zwXjwD9gMADRozHwFP+U3gFsPk4SHi0A@mail.gmail.com>
Date: Wed, 4 Feb 2026 14:18:30 -0800
From: Ian Rogers <irogers@...gle.com>
To: Namhyung Kim <namhyung@...nel.org>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>, Dmitry Dolgov <9erthalion6@...il.com>,
linux-perf-users@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH v1] perf tests: Test annotate with data type profiling
and rust
On Wed, Feb 4, 2026 at 1:52 PM Namhyung Kim <namhyung@...nel.org> wrote:
>
> On Tue, Feb 03, 2026 at 10:15:30AM -0800, Ian Rogers wrote:
> > On Tue, Feb 3, 2026 at 6:45 AM Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> > >
> > > On Sun, Feb 01, 2026 at 11:33:54AM +0100, Dmitry Dolgov wrote:
> > > > > On Fri, Jan 30, 2026 at 09:44:47AM +0100, Dmitry Dolgov wrote:
> > > > > > I'm not managing to reproduce your results, can you please elaborate
> > > > > > some more?
> > > > >
> > > > > That's most unexpected for me, the test output I see looks like this:
> > > > >
> > > > > : 54 for _ in 1..count {
> > > > > 0.00 : 5423b8: mov %ecx,0x7c(%rsp)
> > > > > 0.00 : 5423bc: mov %eax,0x80(%rsp)
> > > > > 0.00 : 5423c3: lea 0x7c(%rsp),%rdi
> > > > > 12.28 : 5423c8: call 541f00 <core::iter::range::<impl core::iter::traits::iterator::Iterator for core::ops::range::Range<A>>::next>
> > > > > 0.00 : 5423cd: mov %eax,0x20(%rsp)
> > > > > 10.21 : 5423d1: jmp 5423d3 <test_rs+0xb3>
> > > > > 0.00 : 5423d3: mov 0x20(%rsp),%eax
> > > > > 0.00 : 5423d7: mov %eax,%eax
> > > > > 0.00 : 5423d9: test $0x1,%rax
> > > > > 0.29 : 5423df: je 5423f6 <test_rs+0xd6>
> > > > > : 65 b.data1 += 1;
> > > > > 13.69 : 5423e1: mov 0x48(%rsp),%rax # data-type: struct Buf +0x18 (data1)
> > > > > 0.00 : 5423e6: add $0x1,%rax
> > > > > 0.00 : 5423ea: mov %rax,0x18(%rsp) # data-type: u64 +0
> > > > > 0.00 : 5423ef: setb %al
> > > > > 11.17 : 5423f2: jb 54243a <test_rs+0x11a>
> > > > > 0.00 : 5423f4: jmp 542426 <test_rs+0x106>
> > > > > 0.00 : 5423f6: lea 0x30(%rsp),%rdi
> > > > > : 73 }
> > > > >
> > > > > Where '# data-type: struct Buf' is as far as I understand a manifestation of
> > > > > data type profiling succeeding. But my environment has slightly different
> > > > > version of rust -- I need to figure out what's going on here, thanks.
> > > >
> > > > I've being testing this in the same way, but without any rust code --
> > > > just on a simple datasym workload. Surprisingly, it seems that
> > > > 'data-type: buf' marks are disappearing even in this case starting from:
> > > >
> > > > c31040085914f1188720073baa43d1483693c0a3 (perf dwarf-regs: Clean up x86
> > > > dwarf_regnum code)
> > >
> > > > I'm not sure yet why this is happening, but don't see anything in the
> > > > commit mentioning that -- since there are no code-with-type tests yet,
> > > > maybe an unexpected side effect?
> > >
> > > Ian, can you please take a look at this?
> >
> > That particular commit is largely adding an i386 to dwarf register
> > number mapping table but it also expands the x86-64 mapping table:
> > https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/commit/?h=perf-tools-next&id=c31040085914f1188720073baa43d1483693c0a3
> > The code to search the table is largely unchanged so my guess would be
> > that the new x86-64 entries are causing a dwarf register to be
> > returned in cases where previously this was -ENOENT. This may have
> > broken the type profiling, but Namhyung would be the expert on that.
>
> Any chance it can get an invalid e_machine? I'm not sure if it handles
> EM_HOST properly.
EM_HOST should just be EM_X86_64:
https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/util/include/dwarf-regs.h?h=perf-tools-next#n27
or it will be EM_NONE and everything pretty broken.
It was possible previously for a non-dso to report a broken e_machine
but that was fixed in:
https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/commit/tools/perf/util/dso.c?h=perf-tools-next&id=7d0ebeb6c0f735d4eddc679283a1de1dea2ae878
Thanks,
Ian
> Thanks,
> Namhyung
>
Powered by blists - more mailing lists