DPDK笔记 RSS(receive side scaling)网卡分流机制

本文探讨了DPDK在处理CPU核心调度时遇到的时钟精度问题,特别是当dpdk线程映射到多个处理器核心时,rdtsc指令可能导致的时钟不准确。内容涉及Invariant TSC的限制、HPET计数器的优势和性能损耗,以及Linux内核对计数器的选择。同时提到了Event Timer Adapter Library在DPDK中的应用,以及相关资源的获取方式。
摘要由CSDN通过智能技术生成

关于dpdk timer跨越CPU core调度的准确性问题


首先dpdk的timer接口里边使用 cpu cycle来比较时间。根据之前的内容 

[dpdk] dpdk --lcores参数

当一个EAL thread映射在多个processor上的时候,cpu cycle有可能在不同的CPU core上面获得,

又因为cpu cycle是使用rdtsc指令获取的,这样会造成拿到的cpu cycle不准的问题。

首先,调查一下 rdtsc 指令:

https://stackoverflow.com/questions/3388134/rdtsc-accuracy-across-cpu-cores?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

Invariant TSC

X86_FEATURE_CONSTANT_TSC + X86_FEATURE_NONSTOP_TSC

"16.11.1 Invariant TSC

The time stamp counter in newer processors may support an enhancement, referred to as invariant TSC. Processor's support for
invariant TSC is indicated by CPUID.80000007H
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值