Re: perf_counters: page fault trace record

From: Corey Ashford
Date: Mon Jun 15 2009 - 16:39:05 EST


Ingo Molnar wrote:
* Paul Mackerras <paulus@xxxxxxxxx> wrote:

Corey Ashford writes:

Paul Mackerras wrote:
Can't you do what you need just using a page fault software counter with sample_type = PERF_SAMPLE_IP | PERF_SAMPLE_ADDR and sample_period = 1?
I thought about that, but I was under the (incorrect?) impression that on Power, the PERF_SAMPLE_ADDR would be set by the value of the SDAR register, which wouldn't be correct for the case of a page fault.
No, the PERF_SAMPLE_ADDR value only comes from SDAR for a hardware counter overflow event. For the page-fault software counter the PERF_SAMPLE_ADDR value will always be the faulting address.

Corey, could you please add support for it in 'perf'? We dont want such sw-counter features to be in the kernel code without matching support in tools/perf/.

While user data symbols wont be resolved, if we have a --target-address switch in perf record we could see the faulting frequency (and the fault coverage - and ordering as well) of shared libraries, in perf report and perf annotate.

This would be a very useful facility.

Thanks,

Ingo

I'll see what I can do. This will be my first time modifying perf, so expect that I won't do things the way you prefer the first couple of go-arounds :)

Regards,

- Corey


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