Li, Aubrey wrote:

> My system is in idle when this report was obtained.
> 
> I'll investigate it and let you know what's going on.
> 

hmm..., the problem is when pt_cpuidle_stat_collect()
calculate C0 residency, it always counts all cpus up.

pt_cpuidle_stat_collect(double interval)
{
----snip----
        /*
         * Assume that all the time spent in this interval will
         * be the default "0" state. The DTrace walker will reallocate
         * time out of the default bucket as it processes aggregation
         * records for time spent in other states.
         */
        g_cstate_info[0].total_time = (long)(interval * g_ncpus * 1000);
----snip----
}

When we use -c option, C0 should be calculated only on the specific
CPU. So, here, g_ncpus is not fit for the -c option.

Does this make sense? Do you always test powertop on one logical
core system?

Thanks,
-Aubrey

Reply via email to