Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel 错误:无法处理内核分页请求,DPDK_Linux Kernel_Paging_Dpdk - Fatal编程技术网

Linux kernel 错误:无法处理内核分页请求,DPDK

Linux kernel 错误:无法处理内核分页请求,DPDK,linux-kernel,paging,dpdk,Linux Kernel,Paging,Dpdk,我试图用DPDK版本16.07.2运行DPDKKNI应用程序 为此,我首先从ixgbe解除端口绑定,并使用以下命令将它们绑定到igb_uio模块 echo 0000:05:00.1 > /sys/bus/pci/drivers/ixgbe/unbind echo 0000:05:00.0 > /sys/bus/pci/drivers/ixgbe/unbind echo 0x8086 0x1528 > /sys/bus/pci/drivers/igb_uio/new_id

我试图用DPDK版本16.07.2运行
DPDK
KNI
应用程序

为此,我首先从
ixgbe
解除端口绑定,并使用以下命令将它们绑定到
igb_uio
模块

echo 0000:05:00.1 > /sys/bus/pci/drivers/ixgbe/unbind  
echo 0000:05:00.0 > /sys/bus/pci/drivers/ixgbe/unbind  
echo 0x8086 0x1528 > /sys/bus/pci/drivers/igb_uio/new_id
我使用Linux版本4.4.20为目标机器编译了kni应用程序(sushila@dev03)(gcc版本4.9.2(crosstool NG 1.20.0))#1 SMP-Fri-Feb 24 14:32:28 CST 2017

当我运行应用程序时,它挂起了以下消息

Feb 28 10:09:37 (none) user.alert kernel: [   87.029554] BUG: unable to handle kernel paging request at 0000077e1d012900
Feb 28 10:09:37 (none) user.alert kernel: [   87.029695] IP: [<ffffffffa0033722>] kni_net_rx_normal+0x2e2/0x440 [rte_kni]
Feb 28 10:09:37 (none) user.warn kernel: [   87.029801] PGD 0
Feb 28 10:09:37 (none) user.warn kernel: [   87.029889] Oops: 0000 [#1] SMP
Feb 28 10:09:37 (none) user.warn kernel: [   87.030010] Modules linked in: rte_kni(O) igb_uio(O)
Feb 28 10:09:37 (none) user.warn kernel: [   87.030167] CPU: 7 PID: 709 Comm: kni_single Tainted: G          IO    4.4.20 #1
Feb 28 10:09:37 (none) user.warn kernel: [   87.030242] Hardware name:                  /DX58SO2, BIOS SOX5820J.86A.0603.2010.1117.1506 11/17/2010
Feb 28 10:09:37 (none) user.warn kernel: [   87.030320] task: ffff8805a8ad8000 ti: ffff8805a7ae0000 task.ti: ffff8805a7ae0000
Feb 28 10:09:37 (none) user.warn kernel: [   87.030395] RIP: 0010:[<ffffffffa0033722>]  [<ffffffffa0033722>] kni_net_rx_normal+0x2e2/0x440 [rte_kni]
Feb 28 10:09:37 (none) user.warn kernel: [   87.030517] RSP: 0018:ffff8805a7ae3d30  EFLAGS: 00010286
Feb 28 10:09:37 (none) user.warn kernel: [   87.030576] RAX: 0000077e1d012900 RBX: 0000000000000020 RCX: 0000000000000010
Feb 28 10:09:37 (none) user.warn kernel: [   87.030639] RDX: 0000000000000001 RSI: 0000000000000246 RDI: ffffffffa00388a3
Feb 28 10:09:37 (none) user.warn kernel: [   87.030701] RBP: ffff8805a7ae3e80 R08: 000000000000000a R09: 00000000fffffffe
Feb 28 10:09:37 (none) user.warn kernel: [   87.030766] R10: 00000000ffff2fea R11: 0000000000000006 R12: ffff8805a8a75000
Feb 28 10:09:37 (none) user.warn kernel: [   87.030829] R13: ffff8800b8c12800 R14: 0000000000000000 R15: ffff8805a8a75800
Feb 28 10:09:37 (none) user.warn kernel: [   87.030893] FS:  0000000000000000(0000) GS:ffff88062fce0000(0000) knlGS:0000000000000000
Feb 28 10:09:37 (none) user.warn kernel: [   87.030971] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Feb 28 10:09:37 (none) user.warn kernel: [   87.031031] CR2: 0000077e1d012900 CR3: 0000000001e0a000 CR4: 00000000000006e0
Feb 28 10:09:37 (none) user.warn kernel: [   87.031094] Stack:
Feb 28 10:09:37 (none) user.warn kernel: [   87.031148]  ffff88062fcf5940 ffff8805a8ad8560 0000000000000000 ffff88060000054e
Feb 28 10:09:37 (none) user.warn kernel: [   87.031367]  0000077e1d012900 00000000b8c12800 00000000b8c11ec0 00000000b8c11580
Feb 28 10:09:37 (none) user.warn kernel: [   87.031587]  00000000b8c10c40 00000000b8c10300 00000000b8c0f9c0 00000000b8c0f080
Feb 28 10:09:37 (none) user.warn kernel: [   87.031811] Call Trace:
Feb 28 10:09:37 (none) user.warn kernel: [   87.031871]  [<ffffffffa00343af>] kni_net_rx+0xf/0x20 [rte_kni]
Feb 28 10:09:37 (none) user.warn kernel: [   87.031937]  [<ffffffffa0032f05>] kni_thread_single+0x45/0xb0 [rte_kni]
Feb 28 10:09:37 (none) user.warn kernel: [   87.032004]  [<ffffffffa0032ec0>] ? kni_init_net+0x50/0x50 [rte_kni]
Feb 28 10:09:37 (none) user.warn kernel: [   87.032067]  [<ffffffff8107b7cb>] kthread+0xdb/0x100
Feb 28 10:09:37 (none) user.warn kernel: [   87.032125]  [<ffffffff8107b6f0>] ? kthread_park+0x60/0x60
Feb 28 10:09:37 (none) user.warn kernel: [   87.032186]  [<ffffffff81834c2f>] ret_from_fork+0x3f/0x70
Feb 28 10:09:37 (none) user.warn kernel: [   87.032246]  [<ffffffff8107b6f0>] ? kthread_park+0x60/0x60
Feb 28 10:09:37 (none) user.warn kernel: [   87.032306] Code: 48 89 85 d0 fe ff ff eb 80 41 f6 c6 0f 75 0e 48 c7 c7 9f 88 03 a0 31 c0 e8 02 e9 11 e1 48 8b 85 d0 fe ff ff 48 c7 c7 a3 88 03 a0 <42> 0f b6 34 30 31 c0 49 83 c6 01 e8 e4 e8 11 e1 e9 5e fe ff ff
Feb 28 10:09:37 (none) user.alert kernel: [   87.034742] RIP  [<ffffffffa0033722>] kni_net_rx_normal+0x2e2/0x440 [rte_kni]
Feb 28 10:09:37 (none) user.warn kernel: [   87.034844]  RSP <ffff8805a7ae3d30>
Feb 28 10:09:37 (none) user.warn kernel: [   87.034900] CR2: 0000077e1d012900
Feb 28 10:09:37 (none) user.warn kernel: [   87.034956] ---[ end trace 5b31765eb0372d51 ]---

接下来,我试着看看是否可以在data_kva地址中打印数据,但在那里失败了,所以当我尝试访问data_kva@00000 77E1D012900时,它看起来失败了,我猜地址是错误的,我不知道为什么,你能给我一些想法或一些东西来尝试调试问题。

1。在没有任何PCIe设备的情况下运行任何DPDK应用程序的最简单方法是向DPDK应用程序参数传递
--no pci
。因此,您可以跳过绑定解除绑定2。KNI应用程序需要DPDK端口来获取数据包,因为PCIe设备的使用受到限制。
tap/pcap
应通过传递
--vdev=
来使用。有关应用程序的详细信息,请参见
https://doc.dpdk.org/guides/sample_app_ug/kernel_nic_interface.html
。你能试试同样的吗!
kva data addresses: data_kva 0000077e1d012900 kva->buff_add 00007f7e1d012880 kva->data_off 128 kni->mbuf_va  (null) and kni->mbuf_kva ffff880000000000