Messages in this thread | | | Date | Tue, 31 Mar 2009 17:12:49 +1100 | From | Paul Mackerras <> | Subject | Re: [PATCH 13/15] perf_counter: provide generic callchain bits |
| |
Peter Zijlstra writes:
> include_tid : 1, /* include the tid */ > mmap : 1, /* include mmap data */ > munmap : 1, /* include munmap data */ > + callchain : 1, /* add callchain data */
Interesting, I would have put callchain (and include_tid, also) in hw_event.record_type rather than as individual 1-bit fields. The present arrangement where some selection of what goes into the ring buffer is in record_type and some is in individual bits seems a bit awkward. Plus, with the current arrangement I can't get both the IP and the values of the other group members, which I might reasonable want.
I think either we make record_type bit-significant, or we define individual bits in hw_event for recording the IP and other group members.
There are a couple of other things I want to be able to record on an event - we have registers on powerpc that give information about the event that caused the interrupt, and it would be nice to be able to record them. (These registers include instruction and data addresses associated with the event; the instruction address can be further on from where the interrupt was taken because of out-of-order instruction execution and because interrupts might be hard-disabled at the point where the interrupt becomes pending.)
Those registers would need bits in record_type or in the hw_event to indicate that we want them recorded.
Paul.
| |