Re: hwmon: trace event support?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ni Nicolin,

On 10/03/2018 04:46 PM, Nicolin Chen wrote:
Hello Guenter,

I am thinking about a possibility of adding a trace event support
in hwmon subsystem. Ftrace is pretty useful and widely applied to
different subsystems already while hwmon doesn't seem to have one
yet. I know some power/perf folks who rely on the trace events to
analyse relationships among cpufreq <-> thermal <-> power: usually
what they do is enabling trace events, then letting the system run
for a while, and finally collecting all data from Ftrace outputs.

Both cpufreq and thermal have trace events; but for power data, it
seems that they have to go through sysfs nodes, which is difficult
for them to get data at the same timestamps corresponding to those
Ftrace data. Similar to tz->poll_queue in thermal_core, hwmon core
could also have a work queue polling the registered sensor inputs
(by default disabled; enabled only if users configure poll_delay)
so that the power data can be generated to Ftrace outputs as well.

To add this, the hwmon core needs an interface that can get sensor
inputs as drivers like ina3221 don't report any values back to the
core but directly expose them via sysfs ABI nodes.

I noticed the hwmon_device_register_with_info() could be actually
a good API to use since it has defined different sensor types and
more importantly the ops->read() interface, but the ina3221 driver
is very compact that there would be very little gain from this API
at this moment. However, maybe having trace event support would be

"very little gain" is a false assumption. Its size would most likely
be reduced by 20% or more, mostly because all the sysfs handling
is done by the core if one uses the _info API.

a good reason to apply this API.

What do you think about it? Any concern or better solution?

I would not object to adding trace support into the hwmon subsystem.
However, it should be tied to the new API. I would resist patches
adding trace support to individual hwmon drivers unless the new API
is used and additional driver specific trace support is warranted.

Note that this also applies to hwmon drivers registering through
thermal. The thermal subsystem calls the _info API but misuses it
to avoid a warning generated when using the old API. Of course,
I have no influence over the hwmon code in the thermal subsystem,
so whatever is done there is essentially wild-wild-west.

Hope this helps,
Guenter



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux