Re: [PATCH 2/3] PERF(kernel): Cleanup power events

Thomas Renninger
2010-10-25T09:41:11Z

On Monday 25 October 2010 08:54:34 Arjan van de Ven wrote:
> On 10/19/2010 4:36 AM, Thomas Renninger wrote:
> > static void poll_idle(void)
> > {
> > - trace_power_start(POWER_CSTATE, 0, smp_processor_id());
> > local_irq_enable();
> > while (!need_resched())
> > cpu_relax();
> > - trace_power_end(0);
> > }
>
> why did you remove the idle tracepoints from this one ???
Because no idle/sleep state is entered here.
State 0 does not exist or say, it means the machine is not idle.
The new event uses idle state 0 spec conform as "exit sleep state".

If this should still be trackable some kind of dummy sleep state:
#define IDLE_BUSY_LOOP 0xFE
(or similar) must get defined and passed like this:
trace_processor_idle(IDLE_BUSY_LOOP, smp_processor_id());
cpu_relax()
trace_processor_idle(0, smp_processor_id());

I could imagine this is somewhat worth it to compare idle results
to "no idle state at all" is used.
But nobody should ever use idle=poll, comparing deep sleep states
with C1 with (idle=halt) should be sufficient?

Thomas