Messages in this thread | | | Date | Fri, 13 Mar 2009 14:13:09 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] perfcounters: Make s/w counters in a group only count when group is on |
| |
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Fri, 2009-03-13 at 13:44 +0100, Peter Zijlstra wrote: > > > The same for task migration, most migrations happen when > > they are in fact running, so there too we can account the > > migration either before we rip it off the src cpu, or after > > we place it on the dst cpu. > > Right, I got confused between being on the cpu and having > ->state = R. > > Migrations are the odd one out indeed, but I'd rather fudge a > little with the migration counter itself than have this weird > asymmetry.
Agreed. There should really be no difference between software and hardware counters as far as the generic perfcounters code goes. It's a magic "metric" that gets read out somehow, and which generates events somehow.
We can have various grades of hardware versus software counters:
- 'pure hardware counters' where both the count and events come from some hw register
- 'pure software counters' where both the count and events are generated by software
- 'hybride counters' where for example the count might be from a hardware register, but the event is generated by a hrtimer (because the hardware is not capable of generating events).
the is_software_counter() assymetry broke this generally relaxed model of counters.
Ingo
| |