包含用于配置中断合并设置的中断合并功能的参数。
此结构中的值用于NVME_CDW11_FEATURES结构的 InterruptCoalescing 字段中。
Syntax
typedef union {
struct {
ULONG THR : 8;
ULONG TIME : 8;
ULONG Reserved0 : 16;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CDW11_FEATURE_INTERRUPT_COALESCING, *PNVME_CDW11_FEATURE_INTERRUPT_COALESCING;
Members
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.THR
指示在向主机发出中断信号之前,建议聚合每个中断向量的建议完成队列条目数。 这是一个基于 0 的值。 此设置 0h的重置值为 .
DUMMYSTRUCTNAME.TIME
指示控制器可能会因中断合并而延迟中断的 100 微秒增量的建议最大时间。 值 0h 对应于不延迟。 控制器可以按中断向量或跨所有中断向量应用此时间。 此设置 0h的重置值为 .
DUMMYSTRUCTNAME.Reserved0
AsUlong
注解
当满足聚合时间(TIME)或聚合阈值(THR)条件时,控制器会发出中断信号。 如果 清除 TIME 或 THR 字段 0h,则会隐式禁用中断合并。
当控制器配置为基于引脚、MSI、多个 MSI 或 MSI-X 中断时,中断合并功能有效。 如果中断模式发生更改,控制器无需保留这些设置。 建议主机在更改中断模式后重新发出此功能。
如果控制器检测到已为此向量处理中断,控制器可能会延迟中断。 具体而言,如果正在更新与特定中断向量关联的 完成队列头 Doorbell 寄存器,则控制器有一个正指示已完成队列条目已被处理。 在这种情况下,聚合时间和/或聚合阈值可能会在关联的寄存器写入时重置/重启。 这可能会导致在某些工作负荷中无限期延迟中断,其中聚合时间或聚合阈值为非零。
中断合并功能仅适用于 I/O 提交和 I/O 完成队列。 不应合并错误中完成的命令的中断。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10操作系统 |
| Header | nvme.h |