[dpdk-dev] After a port is bound to dpdk, when 'ip addr' or 'ip link add ~vlan' command against non-dpdk port , Linux kernel hangs
Ferruh Yigit
ferruh.yigit at intel.com
Thu Jan 12 13:16:08 CET 2017
On 12/9/2016 11:27 PM, Joo Kim wrote:
> Hello,
> I am using dpdk 2.2.0 in this VM where several NIC ports are available.
>
> Also, uio, kni drivers are installed.
> [root at mylinux]# lsmod | grep uio
> igb_uio 13224 0
> uio 19259 1 igb_uio
> [root at mylinux]# lsmod | grep kni
> rte_kni 294375 0
> i2c_core 40325 2 i2c_dev,rte_kni
Why kni module depends on i2c?
> [root at mylinux]# uname -r
> 3.10.0-229.20.1.el7.x86_64
>
> Weirdly, once I bind a network port to dpdk, after that, when I run 'ip
> addr' or 'ip link add ~vlan' command against non-dpdk port , this VM's
> Linux kernel hangs.
Is KNI module used at all in this point?
>
> For example, when I run 'ip link add ~vlan' command, then following dmesg
> is seen and Linux hangs.
>
> Any idea on root cause/how to fix?
>
<...>
> [ 4884.158003] Call Trace:
> [ 4884.158003] [<ffffffff815bb3ae>] ? fib6_clean_all+0xae/0x100
> [ 4884.158003] [<ffffffffa006f3f0>] virtnet_vlan_rx_kill_vid+0x50/0x90
> [virtio_net]
> [ 4884.158003] [<ffffffff815e67e3>] vlan_vid_del+0x113/0x170
> [ 4884.158003] [<ffffffffa02b681b>] vlan_device_event+0x65b/0x690 [8021q]
> [ 4884.158003] [<ffffffff8160fdec>] notifier_call_chain+0x4c/0x70
> [ 4884.158003] [<ffffffff8109d456>] raw_notifier_call_chain+0x16/0x20
> [ 4884.158003] [<ffffffff814f78fd>] call_netdevice_notifiers+0x2d/0x60
> [ 4884.158003] [<ffffffff814f7bac>] dev_close_many+0xcc/0x120
> [ 4884.158003] [<ffffffff814f8ee8>] rollback_registered_many+0xa8/0x220
> [ 4884.158003] [<ffffffff814f90a0>] rollback_registered+0x40/0x70
> [ 4884.158003] [<ffffffff814fa388>] unregister_netdevice_queue+0x48/0x80
> [ 4884.158003] [<ffffffff814fa3dc>] unregister_netdev+0x1c/0x30
> [ 4884.158003] [<ffffffffa006e0e3>] virtnet_remove+0x43/0x80 [virtio_net]
> [ 4884.158003] [<ffffffffa002f119>] virtio_dev_remove+0x49/0xd0 [virtio]
This looks like crash occurred when virtio unbind.
Are you using custom modules?
> [ 4884.158003] [<ffffffff813d2cbf>] __device_release_driver+0x7f/0xf0
> [ 4884.158003] [<ffffffff813d2d53>] device_release_driver+0x23/0x30
> [ 4884.158003] [<ffffffff813d24c8>] bus_remove_device+0x108/0x180
> [ 4884.158003] [<ffffffff813ce9e5>] device_del+0x135/0x1f0
> [ 4884.158003] [<ffffffff813ceabe>] device_unregister+0x1e/0x60
> [ 4884.158003] [<ffffffffa002f426>] unregister_virtio_device+0x16/0x30
> [virtio]
> [ 4884.158003] [<ffffffffa01c852b>] virtio_pci_remove+0x2b/0x70
> [virtio_pci]
> [ 4884.158003] [<ffffffff813097bb>] pci_device_remove+0x3b/0xb0
> [ 4884.158003] [<ffffffff813d2cbf>] __device_release_driver+0x7f/0xf0
> [ 4884.158003] [<ffffffff813d2d53>] device_release_driver+0x23/0x30
> [ 4884.158003] [<ffffffff813d16bd>] driver_unbind+0xbd/0xe0
> [ 4884.158003] [<ffffffff813d0bf4>] drv_attr_store+0x24/0x40
> [ 4884.158003] [<ffffffff8123cfc6>] sysfs_write_file+0xc6/0x140
> [ 4884.158003] [<ffffffff811c6a2d>] vfs_write+0xbd/0x1e0
> [ 4884.158003] [<ffffffff8160fce3>] ? trace_do_page_fault+0x43/0x100
> [ 4884.158003] [<ffffffff811c7478>] SyS_write+0x58/0xb0
> [ 4884.158003] [<ffffffff81614409>] system_call_fastpath+0x16/0x1b
> [ 4884.158003] Code: c5 70 ff ff ff e8 2e 11 fe ff 48 8b 7b 08 e8 c5 02 fe
> ff eb 12 0f 1f 00 48 8b 7b 08 e8 77 ff fd ff 84 c0 75 17 f3 90 48 8b 7b 08
> <48> 8d b5 6c ff ff ff e8 01 01 fe ff 48 85 c0 74 dc 80 bd 69 ff
> {noformat}
>
More information about the dev
mailing list