LTR Message 简介
LTR message 可以用来上报设备对于 Read/Write 服务延时的容许能力。
LTR message 的规则如下:
- LTR 不包含data payload ( tlp type 为 Msg);
- LTR header 里面 length field 为保留字段;
- LTR message 必须使用 TC0(default Traffic Class designator)。LTR 的接收端必须要检查这一规则;如果接收端发现此规则被违背,那么这笔 TLP 必须被认定为 Malformed TLP;
LTR message 结构:
NON Flit mode:
Flit Mode:
LTR 机制详细说明:
LTR 机制使 EP 能够向 RC 上报其对于 memory read/write 的服务延迟需求。这样平台电源管理(Power management for main memory, RC internal interconnects and snoop resources)才可以将 EP 的需求纳入考量。LTR 并不直接影响 link power management 或者 switch internal power management(但是可以间接影响到)。
“Latency tolerance” 的含义在不同设备类型和实现之间会有很大差异。在实现此机制时,通常需要考虑服务延迟是否会影响功能或只有性能,如果性能影响是线性的,以及设备可以使用多少缓冲和/或其他技术来补偿延迟敏感性。
RC 并不需要考虑(EP发来的)服务延迟需求,然而在提供服务时,强烈建议提供一个最差的但是可以满足LTR需求的延迟。
LTR支持是通过第7章中描述的报告和控制寄存器发现和启用的。Software 除非在 RC 和所有中间switch 都表示支持LTR,否则不可以在 EP 中启用LTR。在支持 LTR 的端点中启用 LTR 时,不是所有 EP 都需要支持LTR。在层次结构中启用LTR机制时,必须首先启用最靠近RC的设备。
如果不支持 LTR 的 DSP 接到了 LTR 的 message , 这笔 msg 必须被认定为 Unsupported Request.
No-Snoop Latency 和 Snoop Latency 说明:
(待补充)
参考: pcie6.0 spec