Re: [patch 0/3] [Announcement] Performance Counters for Linux

Ingo Molnar
2008-12-05T10:05:56Z

* Ingo Molnar <mingo@elte.hu> wrote:

> > > - No interaction with ptrace: any task (with sufficient permissions) can
> > > monitor other tasks, without having to stop that task.
> >
> > This isn't going to work.
> >
> > If you look at the things the perfmon libraries do, you do need to stop
> > the task.
> >
> > Consider counter virtualization as the most direct example. [...]
>
> Note that counter virtualization is not offered in the perfmon3 patchset that has
> been posted to lkml. (It is part of the much larger 'full' perfmon patchset which
> has not been submitted for integration)
>
> Nevertheless we will offer counter virtualization in -v2 of our patchset [...]

i've just implemented it. Running an (infinite-loop) hello.c with 6 counters on a
CPU that has only two counters now gives the expected:

counter[0 cycles ]: 3368245084 , delta: 842019470 events
counter[1 instructions ]: 1384678210 , delta: 346108294 events
counter[2 cache-refs ]: 659 , delta: 150 events
counter[3 cache-misses ]: 0
counter[4 branch-instructions ]: 266919398 , delta: 66731508 events
counter[5 branch-misses ]: 1201 , delta: 315 events

This will be in -v2.

Ingo