lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAP-5=fU-aJYKAcbFeFYcgMfpvt8oY4BTxEgczP_rvUAiJt+U-Q@mail.gmail.com>
Date: Tue, 3 Feb 2026 10:15:30 -0800
From: Ian Rogers <irogers@...gle.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>, 
	Dmitry Dolgov <9erthalion6@...il.com>
Cc: 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 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.

Thanks,
Ian

> Cheers,
>
> - Arnaldo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ