Messages in this thread | | | Date | Wed, 25 Sep 2013 12:12:16 -0700 | From | Andi Kleen <> | Subject | Re: [RFC 00/21] perf tools: Add toggling events support |
| |
On Wed, Sep 25, 2013 at 02:50:26PM +0200, Jiri Olsa wrote: > hi, > sending *RFC* for toggling events support. > > Adding perf interface that allows to create toggle events, which can > enable or disable another event. Whenever the toggle event is triggered > (has overflow), it toggles another event state and either starts or > stops it. > > The goal is to be able to create toggling tracepoint events to enable and > disable HW counters, but the interface is generic enough to be used for > any kind of event.
Haven't read the patches, but frequent full event switch in/out seems very expensive. If someone puts that switch on a common function it would likely disturb things quite a bit.
It would be better to keep counting and just do RDPMC on the switch points, and then subtract for counting. For sampling could need a MSR write to enable/disable. Still somewhat expensive, but nowhere near as bad as a full switch.
Another problem is that it may be very inexact, as the counting will often happen in the background and not be very synchronized with the switches. Not fully sure how big a problem that would be.
-Andi
| |