tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: tprof(8) ABI
On Sun, Apr 19, 2026 at 9:32 PM Martin Husemann <martin%duskware.de@localhost> wrote:
>
> On Sun, Apr 19, 2026 at 05:54:23PM -0700, Kevin Bowling wrote:
> > Hi Nick,
> >
> > My understanding is we are trying to capture a 64-bit PC from the
> > kernel into a structure that n32 userland reads. If we sign extend a
> > 32-bit value read from the kernel, I'm not sure if we'd have the right
> > value in every case but I don't fully grasp the sign extension. I
> > suppose we'd need to understand some other cases like x86 user on
> > amd64 or sparc on sparc64 too, and KASLR?
>
> Why is the kernel PC relevant here? I thought this would sample the
> userland PC as observed by the kernel, and for 32bit userland processes
> this can always only be a 32bit value (on sparc and i386 zero extended,
> on mips and riscv probably sign extended).
We are instrumenting the 64-bit kernel, but we are using a 32-bit
userland utility to tell us what is going on in the 64-bit kernel. I
think it's a binary contract, the tprof driver pumps out the hardware
events, so you'd want the 'real' PC but for this ABI break. On 32-bit
systems it would just make the profile files a little bigger.
> Martin
Home |
Main Index |
Thread Index |
Old Index