Re: [PATCH net-next] virito-net: set queues after reset during xdp_set
flat view
From: Jason Wang <hidden>
Date: 2017-02-20 03:47:53
Also in:
lkml, virtualization
On 2017年02月19日 13:08, Michael S. Tsirkin wrote:
quoted
quoted
quoted
- oxdp_qp = vi->xdp_queue_pairs; - /* Changing the headroom in buffers is a disruptive operation because * existing buffers must be flushed and reallocated. This will happen * when a xdp program is initially added or xdp is disabled by removing * the xdp program resulting in number of XDP queues changing. */ if (vi->xdp_queue_pairs != xdp_qp) { - vi->xdp_queue_pairs = xdp_qp; err = virtnet_reset(vi); - if (err) + if (err) { + dev_warn(&dev->dev, "XDP reset failure.\n"); goto virtio_reset_err; + } + vi->xdp_queue_pairs = xdp_qp;But xdp_queue_pairs is being used to detect if we should allocate the XDP headroom. If we move it here do we have a set of buffers in the ring without the proper headroom when we assign the xdp program below?Right, so how about passing xdp_queue_pairs as a parameter to virtnet_reset(). Then virtnet_reset() can set it after _remove_vq_common() but before virtnet_restore_up()? ThanksJason, wouldn't you say it's cleaner to avoid resets? Would you be interested in completing this work: 20170207053455-mutt-send-email-mst@kernel.org
Yes, but this seems still need drop packets, is this acceptable? Thanks _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization