Re: [PATCH 2/3 v2] perf_counter: allow arch to supply event miscflags and instruction pointer

From: Ingo Molnar
Date: Fri May 15 2009 - 10:39:39 EST



* Paul Mackerras <paulus@xxxxxxxxx> wrote:

> At present the values we put in overflow events for the misc flags
> indicating processor mode and the instruction pointer are obtained
> using the standard user_mode() and instruction_pointer()
> functions. Those functions tell you where the performance monitor
> interrupt was taken, which might not be exactly where the counter
> overflow occurred, for example because interrupts were disabled at
> the point where the overflow occurred, or because the processor
> had many instructions in flight and chose to complete some more
> instructions beyond the one that caused the counter overflow.
>
> Some architectures (e.g. powerpc) can supply more precise
> information about where the counter overflow occurred and the
> processor mode at that point. This introduces new functions,
> perf_misc_flags() and perf_instruction_pointer(), which arch code
> can override to provide more precise information if available.
> They have default implementations which are identical to the
> existing code.
>
> This also adds a new misc flag value, PERF_EVENT_MISC_HYPERVISOR, for
> the case where a counter overflow occurred in the hypervisor. We
> encode the processor mode in the 2 bits previously used to indicate
> user or kernel mode; the values for user and kernel mode are unchanged
> and hypervisor mode is indicated by both bits being set.
>
> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
> ---
> Patches 1/3 and 3/3 of this series are unchanged. Ingo, do you need
> me to repost them?

no need, picked them all up, thanks Paul!

Ingo
--
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/