linux - 如何在 sysfs 中写入每个 channel 的属性

标签 linux networking attributes driver sysfs

我打算写一个网络设备驱动程序,它支持多 channel 。

现在,我要将这个 channel 的一些计数器(例如传输的字节/数据包)写入sysfs

比如这个设备开8个 channel ,那么,我想有这样的sysfs:

/sys/devices/mynetdev/channel_0/
______________________________/bytes_egress
/sys/devices/mynetdev/channel_1/
______________________________/bytes_egress
/sys/devices/mynetdev/channel_2/
______________________________/bytes_egress
...

问题:

  1. 如何创建属性组以便每个 channel 有一个文件夹?
  2. 看来我需要在设备注册之前关联属性组。那我什么时候更新这些属性呢?更新属性可能会影响网络性能?
  3. “属性”是如何工作的?例如,当用户从 cat 命令查询 sysfs 时,它是否向驱动程序发出命令以更新属性?或者我的驱动程序会不断更新属性,而 cat 命令只是查询值?

谢谢!

最佳答案

将 iio_chan_spec 的 .modified 字段设置为 1。使用相同 iio_chan_spec 结构的 .channel2 字段指定修饰符,用于指示 channel 的物理唯一特性,例如其方向或光谱响应。例如,光传感器可以有两个 channel ,一个用于红外光,一个用于红外光和可见光。

关于linux - 如何在 sysfs 中写入每个 channel 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41055529/

相关文章:

运行少量线程时 CPU 使用率达到 100%

c# - 枚举的自定义属性是否危险?

html - YouTube 和 Twitch 如何覆盖带音频视频的自动播放政策?

linux - Pecl Swoole php插件在linux centos上安装失败

linux - 将应用程序从 Linux 移植到 Windows

linux 从图像中的表中获取文本

python - 无法通过 `python.subprocess` 管道子进程调整大小和转换 Django `model.save()` 中的图像

java - 如何将服务器类放在我的网站上,以便我的客户端类可以从不同的计算机与其进行通信?

java - 在java中添加/设置ipv4 LAN地址的最佳方式

python - 尝试计算 softmax 值,得到 AttributeError : 'list' object has no attribute 'T'