Some more NaNs in report when CONFIG_TRACING is not enabled
Igor Zhbanov
Hello!
When you run the PowerTOP on the kernel with CONFIG_TRACING disabled,
you will get several NaNs (not a number) in the report. PowerTOP doesn't correctly handle the situation when /sys/kernel/debug is present but /sys/kernel/debug/tracing is not.
So the PowerTOP will be unable to get information about trace events. And instead of arguing about that or skipping some tests, it will run and produce wrong reports.
Since there will be no trace events captured, the measurement_time variable in src/process/do_process.c will remain zero. So the functions like total_wakeups(), total_gpu_ops(), total_disk_hits(), etc. will happily divide total by zero.
Yes, I know that it is not very useful to run the PowerTOP with tracing disabled (although the PowerTOP can still report information about devices), but I suppose that the PowerTOP should check whether /sys/kernel/debug/tracing presents and say something if not.
And as I see the PowerTOP almost never check the result of file opening functions. If it cannot open a file, the PowerTOP just silently skip it.
Thank you.
Signature · 9 lines
Best regards, Igor Zhbanov, Expert Software Engineer, phone: +7 (495) 797 25 00 ext 3806 e-mail: i.zhbanov(a)samsung.com ASWG, Moscow R&D center, Samsung Electronics 12 Dvintsev street, building 1 127018, Moscow, Russian Federation
Chris Ferron
Quoted 27 lines · Igor Zhbanov
Hello!
When you run the PowerTOP on the kernel with
CONFIG_TRACINGdisabled, you will get several NaNs (not a number) in the report. PowerTOP doesn't correctly
handle the situation when/sys/kernel/debugis present but/sys/kernel/debug/tracingis not.So the PowerTOP will be unable to get information about trace events. And instead of
arguing about that or skipping some tests, it will run and produce wrong reports.Since there will be no trace events captured, the
measurement_timevariable
insrc/process/do_process.cwill remain zero. So the functions liketotal_wakeups(),total_gpu_ops(),total_disk_hits(), etc. will happily divide total by zero.Yes, I know that it is not very useful to run the PowerTOP with tracing disabled (although
the PowerTOP can still report information about devices), but I suppose that the PowerTOP
should check whether/sys/kernel/debug/tracingpresents and say something if not.
Quoted 6 lines
And as I see the PowerTOP almost never check the result of file opening functions.
If it cannot open a file, the PowerTOP just silently skip it.Thank you.
Great, thanks, I will start look at this.
-Chris