主页 > 创业  > 

流量类仲裁器(SCHED_NODE_TYPE_TC_ARBITER_TSAR)和SCHED_NODE_TYPE_

流量类仲裁器(SCHED_NODE_TYPE_TC_ARBITER_TSAR)和SCHED_NODE_TYPE_

在 Mellanox mlx5 驱动的 E-Switch QoS 体系中,SCHED_NODE_TYPE_TC_ARBITER_TSAR 和 SCHED_NODE_TYPE_RATE_LIMITER 是两种不同的调度节点类型,它们在功能和作用上有显著区别。


1. 流量类仲裁器(SCHED_NODE_TYPE_TC_ARBITER_TSAR) 定义: 表示流量类(Traffic Class, TC)的仲裁器节点,负责管理和调度多个流量类之间的资源分配。 功能: 仲裁调度:基于优先级或权重,在多个流量类之间分配带宽。层次结构:通常位于 QoS 层次结构的较高层,用于协调子节点(如速率限制器或虚拟端口)的行为。 应用场景: 用于管理多个流量类别(TC),例如区分不同优先级的流量(如控制流量、数据流量等)。
2. 速率限制器(SCHED_NODE_TYPE_RATE_LIMITER) 定义: 表示速率限制器节点,负责对特定流量进行带宽限制。 功能: 流量整形:通过限制带宽,确保流量不会超过设定的速率。精细化控制:通常用于具体的虚拟端口或流,以实现更细粒度的 QoS 管理。 应用场景: 用于限制单个 vport 或特定流的最大带宽。
3. 新父节点和原父节点为 SCHED_NODE_TYPE_TC_ARBITER_TSAR 的区别

当新父节点和原父节点都为 SCHED_NODE_TYPE_TC_ARBITER_TSAR 时,其主要区别在于它们可能属于不同的层次或表示不同的仲裁策略。例如:

新旧父节点可能位于不同的 QoS 层次: 原父节点可能是一个更高层次的仲裁器,新父节点是一个更细化的仲裁器。 仲裁策略可能不同: 新父节点可能具有不同的优先级或权重配置,从而影响 vport 的资源分配。

尽管它们类型相同,但切换到新父节点可能意味着 QoS 配置发生了变化,需要重新调整 vport 的 QoS 类型。


4. 当前 vport 的 QoS 类型设置

根据代码逻辑,当前 vport 的 QoS 类型取决于新旧父节点类型以及默认设置:

如果新父节点为 SCHED_NODE_TYPE_TC_ARBITER_TSAR:

当前 vport 的 QoS 类型设置为 SCHED_NODE_TYPE_RATE_LIMITER。 (因为挂载到 TC 仲裁器时,vport 通常需要速率限制器来控制其带宽。)

如果原父节点为 SCHED_NODE_TYPE_TC_ARBITER_TSAR 而新父节点不是:

当前 vport 的 QoS 类型设置为 SCHED_NODE_TYPE_VPORT。 (因为从 TC 仲裁器切换到其他类型时,不再需要速率限制,而是直接作为虚拟端口处理。)

如果新旧父节点都不是 SCHED_NODE_TYPE_TC_ARBITER_TSAR:

当前 vport 的 QoS 类型保持不变,即继续使用 vport->qos.sched_node->type。
总结 SCHED_NODE_TYPE_TC_ARBITER_TSAR 是用于管理多个流量类别的仲裁器,而 SCHED_NODE_TYPE_RATE_LIMITER 是用于具体限制带宽的工具。当新旧父节点均为 TC_ARBITER_TSAR 时,差异可能体现在层次结构或配置策略上。当前 vport 的 QoS 类型根据新旧父节点类型动态调整,以确保 QoS 配置与新的调度环境一致。
标签:

流量类仲裁器(SCHED_NODE_TYPE_TC_ARBITER_TSAR)和SCHED_NODE_TYPE_由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“流量类仲裁器(SCHED_NODE_TYPE_TC_ARBITER_TSAR)和SCHED_NODE_TYPE_