On 10 September 2014 21:17, Daniel Lezcano <daniel.lezc...@linaro.org> wrote: > On 09/10/2014 03:08 PM, Pi-Cheng Chen wrote: >> >> On 10 September 2014 17:15, Daniel Lezcano <daniel.lezc...@linaro.org> >> wrote: >>> >>> On 09/10/2014 09:33 AM, pi-cheng.chen wrote: >>>> >>>> >>>> When using intel_pstate driver, "scaling_available_freqs" attr is not >>>> exported to sysfs. It causes assertion of idlestat due to memory of >>>> struct cpufreq_pstate was not allocated. >>>> >>>> Allocate struct cpufreq_pstate dynamically when getting frequency >>>> information from trace file instead of parsing available frequencies >>>> from sysfs >>>> >>>> Changes v1 to v2: >>>> Sort the cpufreq_pstate list when parsing events >>>> >>>> Signed-off-by: Pi-Cheng Chen <pi-cheng.c...@linaro.org> >>> >>> >>> >>> Tested on intel_pstate and legacy cpufreq driver. >>> >>> In complement of this feature, I think the cpus cpufreq must be >>> initialized >>> with the 'cpuinfo_cur_freq' with the start time initialized to the >>> beginning >>> of the acquisition. If a cpu is in a specific freq without any changes >>> (understand: ftrace transitions which trigger the p-state creation), we >>> will >>> have a long freq residency (the initial one). >>> >>> Today we don't have this, so the cpus without freq changes are not >>> displayed. >>> >>> At least the minimal number of p-state should be '1' not '0' (except if >>> cpufreq is disabled). >>> >>> -- Daniel >> >> >> How about to create some "fake records" manually in the trace file? >> Get p-states of all CPUs first before starting tracing and write them >> as fake records of p-state transitions before storing the traces from >> sysfs to trace file. So that the report will be consistent with that >> generated by import mode. > > > Well I think initializing directly the p-state structure with one element at > init time will be simpler and cleaner. For the C-state it is not possible > because we don't know idle state the cpu is, so we have to force a wakeup on > all cpus but for the p-state this info is available in the sysfs. >
Please let me clarify it. First we read the current P-state for all CPUs before starting tracing and initialize the P-state structure with one element and initial P-state we read. So that the P-states of CPUs with no freq transition can be displayed correctly. Is my understanding correct? By the way, if doing so, the P-states statistics table reported by idlestat running "--trace" mode might be different from the table report by idlestat running "--import" mode with some other trace file captured before? > > > -- > <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs > > Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | > <http://twitter.com/#!/linaroorg> Twitter | > <http://www.linaro.org/linaro-blog/> Blog > _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev