Re: [PATCH] virtio_net: Unregister and re-register xdp_rxq across freeze/restore

2020-06-08 Thread Sean Christopherson
On Sun, Jun 07, 2020 at 09:23:03AM -0400, Michael S. Tsirkin wrote: > On Fri, Jun 05, 2020 at 02:46:24PM -0700, Sean Christopherson wrote: > > @@ -1480,17 +1495,10 @@ static int virtnet_open(struct net_device *dev) > > if (!try_fill_recv(vi, >rq[i], GFP_KERNEL)) > >

Re: [PATCH] virtio_net: Unregister and re-register xdp_rxq across freeze/restore

2020-06-07 Thread Michael S. Tsirkin
On Fri, Jun 05, 2020 at 02:46:24PM -0700, Sean Christopherson wrote: > Unregister each queue's xdp_rxq during freeze, and re-register the new > instance during restore. All queues are released during free and > recreated during restore, i.e. the pre-freeze xdp_rxq will be lost. > > The bug is

[PATCH] virtio_net: Unregister and re-register xdp_rxq across freeze/restore

2020-06-05 Thread Sean Christopherson
Unregister each queue's xdp_rxq during freeze, and re-register the new instance during restore. All queues are released during free and recreated during restore, i.e. the pre-freeze xdp_rxq will be lost. The bug is detected by WARNs in xdp_rxq_info_unreg() and xdp_rxq_info_unreg_mem_model() that