使用哪个文件系统来为温度传感器公开 readings/limits

Which filesystem to use to expose readings/limits for temperature sensor

我目前经常遇到一些硬件过热的问题。查看 Linux 内核,我发现目前完全支持热传感器,但是预配置的限制似乎太高了。我目前正在寻找修改内核模块的方法,但我不确定修改它的最佳方法是什么。我想要以下内容:

现在我不确定我应该为此使用什么虚拟文件接口。到目前为止,我看到以下选项:

我不确定每种方法的优缺点。到目前为止,我已经看过 sysfs,似乎这不是正确的方法。传感器的数量高度依赖于硬件,我将不得不添加各种 hack 来为每个传感器获取一个文件(或每个传感器一个目录),可能为每个传感器添加另一个 kobject,以便我可以在结果目录中添加文件。以前,传感器数据似乎可以通过 /sys/class/hwmon/hwmon0/device/temp1_input 获得,但在那里被删除了。

debugfs 似乎也不是正确的方法,因为我对内核调试不太感兴趣,而是提供一种更好的配置和读取传感器的方法。

devfs 然而,对于这样一个简单的设置来说似乎有点矫枉过正。

公开传感器数据并使限制可通过用户配置的最佳方式是什么space?

根据 Documentation/hwmon/sysfs-interfacetemp[1-*]_maxtemp[1-*]_crit 已为此目的定义,应尽可能实现读写。 如果您的驱动程序还不是这种情况,那么这就是您想要实现的。

无需公开温度传感器的文件系统。使用热框架将温度传感器注册为热区,然后提供 get /sysfs 接口。可以从 user-space 使用。 通过下面的 link 了解如何从 user-space.

访问它

https://www.lookup2learn.com/post/thermal-management-in-linux