我正在测试启用和禁用中断合并的 NVMe 设备。
NVMe 协议定义了可以传递给设备的中断合并参数,在 free BSD 中 nvme 模块有以下参数可以配置:
dev.nvme.0.int_coal_time
(R/W) Interrupt coalescing timer period in microseconds. Set to
0 to disable.
dev.nvme.0.int_coal_threshold
(R/W) Interrupt coalescing threshold in number of command comple-
tions. Set to 0 to disable.
使用 Linux 时,我似乎看不到以太网适配器之外有关中断合并(中断调节)的任何信息,因此我想知道我是否完全找错了地方。
答案1
查看 Linux 内核源代码,没有提及这一点。
但您可以使用 nvme-cli 实用程序读取和写入它:
> nvme get-feature /dev/nvme0n1 -f 8
get-feature:0x8 (Interrupt Coalescing), Current value:00000000
并设置它:
> nvme set-feature /dev/nvme0n1 -f 8 -v 100
set-feature:08 (Interrupt Coalescing), value:0x000064
查看 NVMe 规范以找到您需要填写的实际位,因为这些是原始值,并且没有任何内容真正为您设置。