Re: [Perfctr-devel] updated perfmon new code base package available

From: Stephane Eranian
Date: Sat Oct 29 2005 - 07:26:25 EST


Will,
On Fri, Oct 28, 2005 at 03:11:40PM -0400, William Cohen wrote:
>
> I have been looking at what changes are required to get oprofile to be
> able to use the custom sampling format in perfmon2. It looks like there
> have been some changes between the perfmon and perfmon2. The ia64
> oprofile support uses the older interface. I don't have easy access to
> an ia64 machine, so I have been making similar support available on the
> x86 version.
>
> I noticed that the older interface passed in "struct pt_regs *regs", but
> the newer interface does not. The oprofile code extracted the program
> counter and whether the interrupted process was in kernel or user mode
> from regs. The newer perfmon interface passes in the instruction
> pointer, but the information about user/kernel mode is lacking.
>
> Reading through the perform2 documentation the last argument passed into
> fmt_handler is a void pointer. The Perfmon2 specification
> (HPL-2004-200R1.pdf) says:
>
> data : a pointer to an implementation-specific data structure which may
> be needed by a handler. For instance, this could point to the
> interrupted machine state and/or the thread to which the overflow is
> attributed.
>
> However, the actual call in linux/perfmon/perfmon.c just passes NULL for
> it. Would it be possible to pass the regs instead? Why not pass regs to
> the handler? Was there some thought to allow other data to be passed?
>
I remember removing it, I just don't remeber why. may I thought that there
was enough information carried by the ip argument (i.e. where you were
interrupted), but I don't see a problmen in passing pt_regs again. The
documentation clearly hints at that. I'll do that in the next patch
for all platforms.

Thanks.

--
-Stephane
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/