自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 DPDK用户态的中断处理

本文主要关注中断从硬件如何上报到用户态、用户态开关中断相关处理。本文基于hns3 PMD driver,选取DPDK的Rx interrupt特性,使用DPDK工程中的l3fwd-power测试程序来进行说明。一. 简短概括:熟悉DPDK的小伙伴可以直接看本章节如下总结部分,如果需要详细细节,可以进一步查看第二节。1)用户态执行设备驱动的.dev_start函数时,为网卡的每个硬件队列创建一个eventfd,使用epoll来关联监听所有的eventfd;2)当网卡硬件中断上报cpu,内核态vfio

2020-10-20 14:14:49 1021

原创 内存屏障和锁 从X86往ARM平台移植

1.内存屏障ARM架构下,不需要使用内存屏障的几个典型场景:1)存在地址依赖时,不需要显示使用内存屏障,也可以保证内存一致性LDR X1,[X2]AND X1, X1, XZRLDR X4, [X3, X1]第三行的汇编语句从内存地址 [X3, X1]读数据到寄存器X4时,需要依赖X1从地址[X2]中读到的值,所以这种情况下LDRX1,[X2]先于LDR X4, [X3, X1]执行。2)存在控制依赖时,不需要显示使用内存屏障,也可以保证内存一致性r1 = x;if

2020-10-19 20:24:09 945

原创 DPDK中的rte_prefetch_non_temporal

rte_prefetch_non_temporal 使用于一次性使用场景,使用后可立即被替换掉; 相对于rte_prefetch0,该函数更适合于收法包场景中的预取。DPDK PMD驱动的收法包处理函数中,使用该函数预取下一轮循环中要访问的buffer,buffer无须一直在cache中...

2020-10-19 20:20:32 555

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除