+1 投票
分类:默认分类 | 用户: (210 分)

问题如题,截图如下

3 个回答

0 投票
用户: (210 分)
没有人回答啊!大家都没有遇到这个问题吗?
0 投票
用户: (13.1k 分)
还真的没遇到过这个问题。。

建议把启动命令,以及前面的打印全贴出来,有助于大家的判断。
0 投票
用户: (210 分)

命令是这样的:

./examples/ethtool/ethtool-app/ethtool-app/x86_64-native-linuxapp-gcc/ethtool -c f -n 4

运行后的结果是这样的,就是卡在那里了,红色圈出来的是我自己添加的打印信息

 

分析内核(版本是3.14.67的),是在 linux-3.14.67/drivers/uio/uio.c 中的uio_open 函数的#if(idev->info->open)# 这一句代码出错

根据dpdk 中源码文件./lib/librte_eal/linuxapp/igb_uio/igb_uio.c 中函数igbuio_pci_probe注册的uio (注册语句uio_register_device(&dev->dev, &udev->info))设备的info.open 是没有赋值的,所以当rte_eal_init 初始化的时候,运行到内核的uio_open 函数中#f(idev->info->open)# 这一句的时候应该是走不到if里面去的。跟踪过流程,正常初始化的那个网卡,确实是没有走到if条件里面,不能正常初始化的网卡,走到了if条件去了,打印过idev->info->open 的地址,每次打印都是同样的地址,打印结果如下图

 

 

用户: (210 分)
最后一张图片贴的不是很完整,补充说明一下
第一个红框,就是能正常初始化的网卡的,调用到uio_open的#if(idev->info->open)# 的时候,是走不进去的,
第二个红框,是不能正常初始化的网卡,调用到uio_open的#if(idev->info->open)# 的时候,是进入了if 条件里面的,打印出来的open 函数指针的值就如图所示
用户: (210 分)
真心折腾,换了centos7 就没有这个问题了

相关问题

0 投票
2 回答
+1 投票
2 回答
最新提问 9月 12, 2016 分类:DPDK初学入门 | 用户: fyy123456 (190 分)
0 投票
2 回答
最新提问 7月 14, 2016 分类:DPDK初学入门 | 用户: xkyby1992 (570 分)

欢迎来到 DPDK交流社区 ,有什么问题可以尽管在这里提问,您将会收到社区其他成员的回答;也可以将您的总结写在这里,为社区其他成员提供帮助。

QQ交流2群:635461501 (入群请注明来源)

冀ICP备15005332号-2
...