Re: [PATCH] perfcounters: Make s/w counters in a group only countwhen group is on

From: Ingo Molnar
Date: Fri Mar 13 2009 - 09:13:40 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> 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
--
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/