DPDK中CPU相关概念

Ø  lcore

指eal线程,采用pthread创建,并设置了CPU亲和性。我感觉dpdk把这个概念搞混淆了,有时指逻辑核,有时指线程。不过大部分是指线程。

Ø  lcore_id 

逻辑核标识,可以通过top d1 或cat /proc/cpuinfo 看到的核,这种包括物理核和超线程的核,判断是否为超线程核,可以看/proc/cpuinfo文件中相应的核sibling是不是大于cpu cores,如果是则为超线程核,但超线程对于我们编程是透明的。在/proc/cpuinfo/中Physical id 和core id相同是超线程。

每个eal线程,会存储每线程变量RTE_PER_LCORE(_lcore_id) 存储逻辑核id. 设置亲和力,应该是lcore_id.

Ø  core_id

该逻辑核在物理核中的标识,如果是超线程的话,core_id存在相同的情况。通过/sys/devices/system/cpu/cpuX/topology/core_id 可以看到,也可以通过/proc/cpuinfo中查到,前面一种便于编程。在线程的绑定CPU亲和性方面没有用。

Ø  socket_id

  在DPDK中不同于物理核的socket,应该是numa的标识。查看文件/sys/devices/system/nodeX/cpu.

主要用于内存的分配。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值