On Wed, Oct 11, 2023 at 05:27:14PM +0800, Xuan Zhuo wrote: > virtnet_poll_tx() support to return budget when busy to be rescheduled. > > When retval < budget, napi_poll() in dev.c will exit directly. And > virtqueue_napi_complete() will be called to close napi. > > When retval == budget, the napi_poll() in dev.c will re-add napi to the > queue. > > The purpose of this patch is to support xsk xmit in virtio_poll_tx() for > subsequent patch. > > Signed-off-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> > --- > drivers/net/virtio/main.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/net/virtio/main.c b/drivers/net/virtio/main.c > index bcfd31a55076..f32cfa189972 100644 > --- a/drivers/net/virtio/main.c > +++ b/drivers/net/virtio/main.c > @@ -1976,6 +1976,7 @@ static int virtnet_poll_tx(struct napi_struct *napi, int budget) > struct virtnet_info *vi = sq->vq->vdev->priv; > unsigned int index = vq2txq(sq->vq); > struct netdev_queue *txq; > + int busy = 0; > int opaque; > bool done; > > @@ -1993,6 +1994,11 @@ static int virtnet_poll_tx(struct napi_struct *napi, int budget) > if (sq->vq->num_free >= 2 + MAX_SKB_FRAGS) > netif_tx_wake_queue(txq); > > + if (busy) { > + __netif_tx_unlock(txq); > + return budget; > + } > + > opaque = virtqueue_enable_cb_prepare(sq->vq); > > done = napi_complete_done(napi, 0); This just adds a bit of dead code. Pls just squash into that patch. > -- > 2.32.0.3.g01195cf9f