[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