From: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
To: virtualization@lists.linux-foundation.org
Cc: Vadim Pasternak <vadimp@nvidia.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
linux-remoteproc@vger.kernel.org,
Alexei Starovoitov <ast@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Eric Dumazet <edumazet@google.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
kangjie.xu@linux.alibaba.com,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
kvm@vger.kernel.org, Daniel Borkmann <daniel@iogearbox.net>,
Richard Weinberger <richard@nod.at>,
Vincent Whitchurch <vincent.whitchurch@axis.com>,
John Fastabend <john.fastabend@gmail.com>,
Halil Pasic <pasic@linux.ibm.com>,
Jakub Kicinski <kuba@kernel.org>,
Eric Farman <farman@linux.ibm.com>,
Jesper Dangaard Brouer <hawk@kernel.org>,
Vasily Gorbik <gor@linux.ibm.com>,
linux-s390@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>,
linux-um@lists.infradead.org, Mark Gross <markgross@kernel.org>,
Hans de Goede <hdegoede@redhat.com>,
platform-driver-x86@vger.kernel.org, bpf@vger.kernel.org,
Paolo Abeni <pabeni@redhat.com>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
netdev@vger.kernel.org, Cornelia Huck <cohuck@redhat.com>,
Sven Schnelle <svens@linux.ibm.com>,
Johannes Berg <johannes@sipsolutions.net>,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH v13 41/42] virtio_net: support tx queue resize
Date: Tue, 26 Jul 2022 15:22:24 +0800 [thread overview]
Message-ID: <20220726072225.19884-42-xuanzhuo@linux.alibaba.com> (raw)
In-Reply-To: <20220726072225.19884-1-xuanzhuo@linux.alibaba.com>
This patch implements the resize function of the tx queues.
Based on this function, it is possible to modify the ring num of the
queue.
Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
---
drivers/net/virtio_net.c | 47 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 1115a8b59a08..d1e6940b46d8 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -135,6 +135,9 @@ struct send_queue {
struct virtnet_sq_stats stats;
struct napi_struct napi;
+
+ /* Record whether sq is in reset state. */
+ bool reset;
};
/* Internal representation of a receive virtqueue */
@@ -279,6 +282,7 @@ struct padded_vnet_hdr {
};
static void virtnet_rq_free_unused_buf(struct virtqueue *vq, void *buf);
+static void virtnet_sq_free_unused_buf(struct virtqueue *vq, void *buf);
static bool is_xdp_frame(void *ptr)
{
@@ -1603,6 +1607,11 @@ static void virtnet_poll_cleantx(struct receive_queue *rq)
return;
if (__netif_tx_trylock(txq)) {
+ if (sq->reset) {
+ __netif_tx_unlock(txq);
+ return;
+ }
+
do {
virtqueue_disable_cb(sq->vq);
free_old_xmit_skbs(sq, true);
@@ -1868,6 +1877,44 @@ static int virtnet_rx_resize(struct virtnet_info *vi,
return err;
}
+static int virtnet_tx_resize(struct virtnet_info *vi,
+ struct send_queue *sq, u32 ring_num)
+{
+ struct netdev_queue *txq;
+ int err, qindex;
+
+ qindex = sq - vi->sq;
+
+ virtnet_napi_tx_disable(&sq->napi);
+
+ txq = netdev_get_tx_queue(vi->dev, qindex);
+
+ /* 1. wait all ximt complete
+ * 2. fix the race of netif_stop_subqueue() vs netif_start_subqueue()
+ */
+ __netif_tx_lock_bh(txq);
+
+ /* Prevent rx poll from accessing sq. */
+ sq->reset = true;
+
+ /* Prevent the upper layer from trying to send packets. */
+ netif_stop_subqueue(vi->dev, qindex);
+
+ __netif_tx_unlock_bh(txq);
+
+ err = virtqueue_resize(sq->vq, ring_num, virtnet_sq_free_unused_buf);
+ if (err)
+ netdev_err(vi->dev, "resize tx fail: tx queue index: %d err: %d\n", qindex, err);
+
+ __netif_tx_lock_bh(txq);
+ sq->reset = false;
+ netif_tx_wake_queue(txq);
+ __netif_tx_unlock_bh(txq);
+
+ virtnet_napi_tx_enable(vi, sq->vq, &sq->napi);
+ return err;
+}
+
/*
* Send command via the control virtqueue and check status. Commands
* supported by the hypervisor, as indicated by feature bits, should
--
2.31.0
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
WARNING: multiple messages have this Message-ID (diff)
From: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
To: virtualization@lists.linux-foundation.org
Cc: Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
Johannes Berg <johannes@sipsolutions.net>,
"Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Hans de Goede <hdegoede@redhat.com>,
Mark Gross <markgross@kernel.org>,
Vadim Pasternak <vadimp@nvidia.com>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Cornelia Huck <cohuck@redhat.com>,
Halil Pasic <pasic@linux.ibm.com>,
Eric Farman <farman@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Jesper Dangaard Brouer <hawk@kernel.org>,
John Fastabend <john.fastabend@gmail.com>,
Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
Vincent Whitchurch <vincent.whitchurch@axis.com>,
linux-um@lists.infradead.org, netdev@vger.kernel.org,
platform-driver-x86@vger.kernel.org,
linux-remoteproc@vger.kernel.org, linux-s390@vger.kernel.org,
kvm@vger.kernel.org, bpf@vger.kernel.org,
kangjie.xu@linux.alibaba.com
Subject: [PATCH v13 41/42] virtio_net: support tx queue resize
Date: Tue, 26 Jul 2022 15:22:24 +0800 [thread overview]
Message-ID: <20220726072225.19884-42-xuanzhuo@linux.alibaba.com> (raw)
In-Reply-To: <20220726072225.19884-1-xuanzhuo@linux.alibaba.com>
This patch implements the resize function of the tx queues.
Based on this function, it is possible to modify the ring num of the
queue.
Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
---
drivers/net/virtio_net.c | 47 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 1115a8b59a08..d1e6940b46d8 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -135,6 +135,9 @@ struct send_queue {
struct virtnet_sq_stats stats;
struct napi_struct napi;
+
+ /* Record whether sq is in reset state. */
+ bool reset;
};
/* Internal representation of a receive virtqueue */
@@ -279,6 +282,7 @@ struct padded_vnet_hdr {
};
static void virtnet_rq_free_unused_buf(struct virtqueue *vq, void *buf);
+static void virtnet_sq_free_unused_buf(struct virtqueue *vq, void *buf);
static bool is_xdp_frame(void *ptr)
{
@@ -1603,6 +1607,11 @@ static void virtnet_poll_cleantx(struct receive_queue *rq)
return;
if (__netif_tx_trylock(txq)) {
+ if (sq->reset) {
+ __netif_tx_unlock(txq);
+ return;
+ }
+
do {
virtqueue_disable_cb(sq->vq);
free_old_xmit_skbs(sq, true);
@@ -1868,6 +1877,44 @@ static int virtnet_rx_resize(struct virtnet_info *vi,
return err;
}
+static int virtnet_tx_resize(struct virtnet_info *vi,
+ struct send_queue *sq, u32 ring_num)
+{
+ struct netdev_queue *txq;
+ int err, qindex;
+
+ qindex = sq - vi->sq;
+
+ virtnet_napi_tx_disable(&sq->napi);
+
+ txq = netdev_get_tx_queue(vi->dev, qindex);
+
+ /* 1. wait all ximt complete
+ * 2. fix the race of netif_stop_subqueue() vs netif_start_subqueue()
+ */
+ __netif_tx_lock_bh(txq);
+
+ /* Prevent rx poll from accessing sq. */
+ sq->reset = true;
+
+ /* Prevent the upper layer from trying to send packets. */
+ netif_stop_subqueue(vi->dev, qindex);
+
+ __netif_tx_unlock_bh(txq);
+
+ err = virtqueue_resize(sq->vq, ring_num, virtnet_sq_free_unused_buf);
+ if (err)
+ netdev_err(vi->dev, "resize tx fail: tx queue index: %d err: %d\n", qindex, err);
+
+ __netif_tx_lock_bh(txq);
+ sq->reset = false;
+ netif_tx_wake_queue(txq);
+ __netif_tx_unlock_bh(txq);
+
+ virtnet_napi_tx_enable(vi, sq->vq, &sq->napi);
+ return err;
+}
+
/*
* Send command via the control virtqueue and check status. Commands
* supported by the hypervisor, as indicated by feature bits, should
--
2.31.0
WARNING: multiple messages have this Message-ID (diff)
From: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
To: virtualization@lists.linux-foundation.org
Cc: Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
Johannes Berg <johannes@sipsolutions.net>,
"Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Hans de Goede <hdegoede@redhat.com>,
Mark Gross <markgross@kernel.org>,
Vadim Pasternak <vadimp@nvidia.com>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Cornelia Huck <cohuck@redhat.com>,
Halil Pasic <pasic@linux.ibm.com>,
Eric Farman <farman@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Jesper Dangaard Brouer <hawk@kernel.org>,
John Fastabend <john.fastabend@gmail.com>,
Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
Vincent Whitchurch <vincent.whitchurch@axis.com>,
linux-um@lists.infradead.org, netdev@vger.kernel.org,
platform-driver-x86@vger.kernel.org,
linux-remoteproc@vger.kernel.org, linux-s390@vger.kernel.org,
kvm@vger.kernel.org, bpf@vger.kernel.org,
kangjie.xu@linux.alibaba.com
Subject: [PATCH v13 41/42] virtio_net: support tx queue resize
Date: Tue, 26 Jul 2022 15:22:24 +0800 [thread overview]
Message-ID: <20220726072225.19884-42-xuanzhuo@linux.alibaba.com> (raw)
In-Reply-To: <20220726072225.19884-1-xuanzhuo@linux.alibaba.com>
This patch implements the resize function of the tx queues.
Based on this function, it is possible to modify the ring num of the
queue.
Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
---
drivers/net/virtio_net.c | 47 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 1115a8b59a08..d1e6940b46d8 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -135,6 +135,9 @@ struct send_queue {
struct virtnet_sq_stats stats;
struct napi_struct napi;
+
+ /* Record whether sq is in reset state. */
+ bool reset;
};
/* Internal representation of a receive virtqueue */
@@ -279,6 +282,7 @@ struct padded_vnet_hdr {
};
static void virtnet_rq_free_unused_buf(struct virtqueue *vq, void *buf);
+static void virtnet_sq_free_unused_buf(struct virtqueue *vq, void *buf);
static bool is_xdp_frame(void *ptr)
{
@@ -1603,6 +1607,11 @@ static void virtnet_poll_cleantx(struct receive_queue *rq)
return;
if (__netif_tx_trylock(txq)) {
+ if (sq->reset) {
+ __netif_tx_unlock(txq);
+ return;
+ }
+
do {
virtqueue_disable_cb(sq->vq);
free_old_xmit_skbs(sq, true);
@@ -1868,6 +1877,44 @@ static int virtnet_rx_resize(struct virtnet_info *vi,
return err;
}
+static int virtnet_tx_resize(struct virtnet_info *vi,
+ struct send_queue *sq, u32 ring_num)
+{
+ struct netdev_queue *txq;
+ int err, qindex;
+
+ qindex = sq - vi->sq;
+
+ virtnet_napi_tx_disable(&sq->napi);
+
+ txq = netdev_get_tx_queue(vi->dev, qindex);
+
+ /* 1. wait all ximt complete
+ * 2. fix the race of netif_stop_subqueue() vs netif_start_subqueue()
+ */
+ __netif_tx_lock_bh(txq);
+
+ /* Prevent rx poll from accessing sq. */
+ sq->reset = true;
+
+ /* Prevent the upper layer from trying to send packets. */
+ netif_stop_subqueue(vi->dev, qindex);
+
+ __netif_tx_unlock_bh(txq);
+
+ err = virtqueue_resize(sq->vq, ring_num, virtnet_sq_free_unused_buf);
+ if (err)
+ netdev_err(vi->dev, "resize tx fail: tx queue index: %d err: %d\n", qindex, err);
+
+ __netif_tx_lock_bh(txq);
+ sq->reset = false;
+ netif_tx_wake_queue(txq);
+ __netif_tx_unlock_bh(txq);
+
+ virtnet_napi_tx_enable(vi, sq->vq, &sq->napi);
+ return err;
+}
+
/*
* Send command via the control virtqueue and check status. Commands
* supported by the hypervisor, as indicated by feature bits, should
--
2.31.0
_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um
next prev parent reply other threads:[~2022-07-26 7:23 UTC|newest]
Thread overview: 201+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-26 7:21 [PATCH v13 00/42] virtio pci support VIRTIO_F_RING_RESET Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 01/42] virtio: record the maximum queue num supported by the device Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 02/42] virtio: struct virtio_config_ops add callbacks for queue_reset Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 03/42] virtio_ring: update the document of the virtqueue_detach_unused_buf for queue reset Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 04/42] virtio_ring: extract the logic of freeing vring Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 05/42] virtio_ring: split vring_virtqueue Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 06/42] virtio_ring: introduce virtqueue_init() Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 07/42] virtio_ring: split: stop __vring_new_virtqueue as export symbol Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-27 2:58 ` Jason Wang
2022-07-27 2:58 ` Jason Wang
2022-07-27 2:58 ` Jason Wang
2022-07-27 7:35 ` Xuan Zhuo
2022-07-27 7:35 ` Xuan Zhuo
2022-07-27 7:35 ` Xuan Zhuo
2022-07-28 2:36 ` Jason Wang
2022-07-28 2:36 ` Jason Wang
2022-07-28 2:36 ` Jason Wang
2022-07-26 7:21 ` [PATCH v13 08/42] virtio_ring: split: __vring_new_virtqueue() accept struct vring_virtqueue_split Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-27 3:05 ` Jason Wang
2022-07-27 3:05 ` Jason Wang
2022-07-27 3:05 ` Jason Wang
2022-07-26 7:21 ` [PATCH v13 09/42] virtio_ring: split: introduce vring_free_split() Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 10/42] virtio_ring: split: extract the logic of alloc queue Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-27 3:14 ` Jason Wang
2022-07-27 3:14 ` Jason Wang
2022-07-27 3:14 ` Jason Wang
2022-07-26 7:21 ` [PATCH v13 11/42] virtio_ring: split: extract the logic of alloc state and extra Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-27 4:23 ` Jason Wang
2022-07-27 4:23 ` Jason Wang
2022-07-27 4:23 ` Jason Wang
2022-07-26 7:21 ` [PATCH v13 12/42] virtio_ring: split: extract the logic of vring init Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 13/42] virtio_ring: split: extract the logic of attach vring Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 14/42] virtio_ring: split: introduce virtqueue_reinit_split() Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 15/42] virtio_ring: split: reserve vring_align, may_reduce_num Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` [PATCH v13 16/42] virtio_ring: split: introduce virtqueue_resize_split() Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-26 7:21 ` Xuan Zhuo
2022-07-27 3:12 ` Jason Wang
2022-07-27 3:12 ` Jason Wang
2022-07-27 3:12 ` Jason Wang
2022-07-27 7:36 ` Xuan Zhuo
2022-07-27 7:36 ` Xuan Zhuo
2022-07-27 7:36 ` Xuan Zhuo
2022-07-28 2:38 ` Jason Wang
2022-07-28 2:38 ` Jason Wang
2022-07-28 2:38 ` Jason Wang
2022-07-28 7:09 ` Xuan Zhuo
2022-07-28 7:09 ` Xuan Zhuo
2022-07-28 7:09 ` Xuan Zhuo
2022-07-28 7:42 ` Jason Wang
2022-07-28 7:42 ` Jason Wang
2022-07-28 7:42 ` Jason Wang
2022-07-28 8:09 ` Xuan Zhuo
2022-07-28 8:09 ` Xuan Zhuo
2022-07-28 8:09 ` Xuan Zhuo
2022-07-28 9:04 ` Jason Wang
2022-07-28 9:04 ` Jason Wang
2022-07-28 9:04 ` Jason Wang
2022-07-28 9:42 ` Xuan Zhuo
2022-07-28 9:42 ` Xuan Zhuo
2022-07-28 9:42 ` Xuan Zhuo
2022-08-01 4:49 ` Jason Wang
2022-08-01 4:49 ` Jason Wang
2022-08-01 4:49 ` Jason Wang
2022-08-01 6:11 ` Xuan Zhuo
2022-08-01 6:11 ` Xuan Zhuo
2022-08-01 6:11 ` Xuan Zhuo
2022-08-01 6:27 ` Jason Wang
2022-08-01 6:27 ` Jason Wang
2022-08-01 6:27 ` Jason Wang
2022-07-26 7:22 ` [PATCH v13 17/42] virtio_ring: packed: introduce vring_free_packed Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-27 4:24 ` Jason Wang
2022-07-27 4:24 ` Jason Wang
2022-07-27 4:24 ` Jason Wang
2022-07-26 7:22 ` [PATCH v13 18/42] virtio_ring: packed: extract the logic of alloc queue Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-27 4:29 ` Jason Wang
2022-07-27 4:29 ` Jason Wang
2022-07-27 4:29 ` Jason Wang
2022-07-26 7:22 ` [PATCH v13 19/42] virtio_ring: packed: extract the logic of alloc state and extra Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-27 4:33 ` Jason Wang
2022-07-27 4:33 ` Jason Wang
2022-07-27 4:33 ` Jason Wang
2022-07-26 7:22 ` [PATCH v13 20/42] virtio_ring: packed: extract the logic of vring init Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-27 4:33 ` Jason Wang
2022-07-27 4:33 ` Jason Wang
2022-07-27 4:33 ` Jason Wang
2022-07-26 7:22 ` [PATCH v13 21/42] virtio_ring: packed: extract the logic of attach vring Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-27 4:34 ` Jason Wang
2022-07-27 4:34 ` Jason Wang
2022-07-27 4:34 ` Jason Wang
2022-07-26 7:22 ` [PATCH v13 22/42] virtio_ring: packed: introduce virtqueue_reinit_packed() Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-27 4:35 ` Jason Wang
2022-07-27 4:35 ` Jason Wang
2022-07-27 4:35 ` Jason Wang
2022-07-26 7:22 ` [PATCH v13 23/42] virtio_ring: packed: introduce virtqueue_resize_packed() Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 24/42] virtio_ring: introduce virtqueue_resize() Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 25/42] virtio_pci: struct virtio_pci_common_cfg add queue_notify_data Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 26/42] virtio: allow to unbreak/break virtqueue individually Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 27/42] virtio: queue_reset: add VIRTIO_F_RING_RESET Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 28/42] virtio_ring: struct virtqueue introduce reset Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 29/42] virtio_pci: struct virtio_pci_common_cfg add queue_reset Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 30/42] virtio_pci: introduce helper to get/set queue reset Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 31/42] virtio_pci: extract the logic of active vq for modern pci Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 32/42] virtio_pci: support VIRTIO_F_RING_RESET Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-27 4:37 ` Jason Wang
2022-07-27 4:37 ` Jason Wang
2022-07-27 4:37 ` Jason Wang
2022-07-26 7:22 ` [PATCH v13 33/42] virtio: find_vqs() add arg sizes Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 34/42] virtio_pci: support the arg sizes of find_vqs() Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 35/42] virtio_mmio: " Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 36/42] virtio: add helper virtio_find_vqs_ctx_size() Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 37/42] virtio_net: set the default max ring size by find_vqs() Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 38/42] virtio_net: get ringparam by virtqueue_get_vring_max_size() Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 39/42] virtio_net: split free_unused_bufs() Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 40/42] virtio_net: support rx queue resize Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo [this message]
2022-07-26 7:22 ` [PATCH v13 41/42] virtio_net: support tx " Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` [PATCH v13 42/42] virtio_net: support set_ringparam Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
2022-07-26 7:22 ` Xuan Zhuo
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=20220726072225.19884-42-xuanzhuo@linux.alibaba.com \
--to=xuanzhuo@linux.alibaba.com \
--cc=agordeev@linux.ibm.com \
--cc=anton.ivanov@cambridgegreys.com \
--cc=ast@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=bpf@vger.kernel.org \
--cc=cohuck@redhat.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=farman@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hawk@kernel.org \
--cc=hca@linux.ibm.com \
--cc=hdegoede@redhat.com \
--cc=johannes@sipsolutions.net \
--cc=john.fastabend@gmail.com \
--cc=kangjie.xu@linux.alibaba.com \
--cc=kuba@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=markgross@kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pasic@linux.ibm.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=richard@nod.at \
--cc=svens@linux.ibm.com \
--cc=vadimp@nvidia.com \
--cc=vincent.whitchurch@axis.com \
--cc=virtualization@lists.linux-foundation.org \
/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.