Messages in this thread | | | Date | Tue, 21 Oct 2014 11:00:26 -0400 (EDT) | From | Vince Weaver <> | Subject | Re: [RFC 0/5] CR4 handling improvements |
| |
On Mon, 20 Oct 2014, Andy Lutomirski wrote:
> ISTM it would be a lot better to use the perf subsystem for this. You > can probably pin an event to a pmu.
No, you cannot pin an event to a counter with perf_event. That's one of the big differences between perf_event and, say, perfmon2.
With perf_event the kernel controls which events go in which counters and the user has no say. That's part of why you need to check the mmap page every time you want to use rdpmc because there's no other way of knowing which counter to read to get the event you want.
perf_event is also fairly high overhead for setting up and starting events, and mildly high overhead when doing a proper rdpmc call (due to the required looking at mmap, and the fact that you need to do two rdpmc calls before/after to get your value). This is why people really worried about low-latency measurements bypass as much of perf_event as possible.
Vince
| |