All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Cc: virtualization@lists.linux-foundation.org,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Jesper Dangaard Brouer <hawk@kernel.org>,
	John Fastabend <john.fastabend@gmail.com>,
	netdev@vger.kernel.org, bpf@vger.kernel.org
Subject: Re: [PATCH vhost 08/22] virtio_net: virtnet_poll_tx support rescheduled
Date: Thu, 12 Oct 2023 05:13:11 -0400	[thread overview]
Message-ID: <20231012051159-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20231011092728.105904-9-xuanzhuo@linux.alibaba.com>

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@linux.alibaba.com>
> ---
>  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


WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Cc: Jesper Dangaard Brouer <hawk@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	netdev@vger.kernel.org, John Fastabend <john.fastabend@gmail.com>,
	Alexei Starovoitov <ast@kernel.org>,
	virtualization@lists.linux-foundation.org,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	bpf@vger.kernel.org, Paolo Abeni <pabeni@redhat.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH vhost 08/22] virtio_net: virtnet_poll_tx support rescheduled
Date: Thu, 12 Oct 2023 05:13:11 -0400	[thread overview]
Message-ID: <20231012051159-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20231011092728.105904-9-xuanzhuo@linux.alibaba.com>

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@linux.alibaba.com>
> ---
>  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

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  reply	other threads:[~2023-10-12  9:13 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-11  9:27 [PATCH vhost 00/22] virtio-net: support AF_XDP zero copy Xuan Zhuo
2023-10-11  9:27 ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 01/22] virtio_ring: virtqueue_set_dma_premapped support disable Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11 14:13   ` kernel test robot
2023-10-11 14:13     ` kernel test robot
2023-10-12  9:15   ` Michael S. Tsirkin
2023-10-12  9:15     ` Michael S. Tsirkin
2023-10-12  9:18     ` Xuan Zhuo
2023-10-12  9:18       ` Xuan Zhuo
2023-10-12  9:40       ` Michael S. Tsirkin
2023-10-12  9:40         ` Michael S. Tsirkin
2023-10-12 11:36         ` Xuan Zhuo
2023-10-12 11:36           ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 02/22] virtio_ring: introduce virtqueue_dma_[un]map_page_attrs Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-18  7:53   ` Xuan Zhuo
2023-10-18  7:53     ` Xuan Zhuo
2023-10-18  7:59     ` Michael S. Tsirkin
2023-10-18  7:59       ` Michael S. Tsirkin
2023-10-18  8:00       ` Xuan Zhuo
2023-10-18  8:00         ` Xuan Zhuo
2023-10-18  8:44         ` Michael S. Tsirkin
2023-10-18  8:44           ` Michael S. Tsirkin
2023-10-18  8:57           ` Xuan Zhuo
2023-10-18  8:57             ` Xuan Zhuo
2023-10-18  9:13             ` Michael S. Tsirkin
2023-10-18  9:13               ` Michael S. Tsirkin
2023-10-18  9:17               ` Xuan Zhuo
2023-10-18  9:17                 ` Xuan Zhuo
2023-10-18  8:09     ` Michael S. Tsirkin
2023-10-18  8:09       ` Michael S. Tsirkin
2023-10-11  9:27 ` [PATCH vhost 03/22] virtio_net: rename free_old_xmit_skbs to free_old_xmit Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 04/22] virtio_net: unify the code for recycling the xmit ptr Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 05/22] virtio_net: independent directory Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11 23:22   ` kernel test robot
2023-10-11 23:22     ` kernel test robot
2023-10-11  9:27 ` [PATCH vhost 06/22] virtio_net: move to virtio_net.h Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 07/22] virtio_net: add prefix virtnet to all struct/api inside virtio_net.h Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 08/22] virtio_net: virtnet_poll_tx support rescheduled Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-12  9:13   ` Michael S. Tsirkin [this message]
2023-10-12  9:13     ` Michael S. Tsirkin
2023-10-11  9:27 ` [PATCH vhost 09/22] virtio_net: separate virtnet_rx_resize() Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 10/22] virtio_net: separate virtnet_tx_resize() Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 11/22] virtio_net: sq support premapped mode Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-13 10:13   ` kernel test robot
2023-10-13 10:13     ` kernel test robot
2023-10-11  9:27 ` [PATCH vhost 12/22] virtio_net: xsk: bind/unbind xsk Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-15 19:17   ` Simon Horman
2023-10-11  9:27 ` [PATCH vhost 13/22] virtio_net: xsk: prevent disable tx napi Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 14/22] virtio_net: xsk: tx: support tx Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 15/22] virtio_net: xsk: tx: support wakeup Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 16/22] virtio_net: xsk: tx: virtnet_free_old_xmit() distinguishes xsk buffer Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 17/22] virtio_net: xsk: tx: virtnet_sq_free_unused_buf() check " Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 18/22] virtio_net: xsk: rx: introduce add_recvbuf_xsk() Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 19/22] virtio_net: xsk: rx: introduce receive_xsk() to recv xsk buffer Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 20/22] virtio_net: xsk: rx: virtnet_rq_free_unused_buf() check " Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11  9:27 ` [PATCH vhost 21/22] virtio_net: update tx timeout record Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-12  9:10   ` Michael S. Tsirkin
2023-10-12  9:10     ` Michael S. Tsirkin
2023-10-12  9:12     ` Xuan Zhuo
2023-10-12  9:12       ` Xuan Zhuo
2023-10-12  9:36       ` Michael S. Tsirkin
2023-10-12  9:36         ` Michael S. Tsirkin
2023-10-12 11:54         ` Xuan Zhuo
2023-10-12 11:54           ` Xuan Zhuo
2023-10-12 13:07           ` Michael S. Tsirkin
2023-10-12 13:07             ` Michael S. Tsirkin
2023-10-11  9:27 ` [PATCH vhost 22/22] virtio_net: xdp_features add NETDEV_XDP_ACT_XSK_ZEROCOPY Xuan Zhuo
2023-10-11  9:27   ` Xuan Zhuo
2023-10-11 17:00 ` [PATCH vhost 00/22] virtio-net: support AF_XDP zero copy Jakub Kicinski
2023-10-12  1:53   ` Xuan Zhuo
2023-10-12  1:53     ` Xuan Zhuo
2023-10-12  7:50     ` Jason Wang
2023-10-12  7:50       ` Jason Wang
2023-10-12  8:32       ` Xuan Zhuo
2023-10-12  8:32         ` Xuan Zhuo
2023-10-12 14:50         ` Michael S. Tsirkin
2023-10-12 14:50           ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231012051159-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=jasowang@redhat.com \
    --cc=john.fastabend@gmail.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xuanzhuo@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.