From: "Michael S. Tsirkin" <mst@redhat.com> To: linux-kernel@vger.kernel.org Cc: Jason Wang <jasowang@redhat.com>, virtualization@lists.linux-foundation.org Subject: [PATCH v4 08/12] virtio_ring: switch to virtio_legacy_init/size Date: Mon, 6 Apr 2020 17:02:08 -0400 [thread overview] Message-ID: <20200406210108.148131-9-mst@redhat.com> (raw) In-Reply-To: <20200406210108.148131-1-mst@redhat.com> These are used for legacy ring format, switch to APIs that make this explicit. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- drivers/virtio/virtio_ring.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 58b96baa8d48..2a2b12449bac 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -867,8 +867,10 @@ static struct virtqueue *vring_create_virtqueue_split( } /* TODO: allocate each queue chunk individually */ - for (; num && vring_size(num, vring_align) > PAGE_SIZE; num /= 2) { - queue = vring_alloc_queue(vdev, vring_size(num, vring_align), + for (; num && vring_legacy_size(num, vring_align) > PAGE_SIZE; + num /= 2) { + queue = vring_alloc_queue(vdev, + vring_legacy_size(num, vring_align), &dma_addr, GFP_KERNEL|__GFP_NOWARN|__GFP_ZERO); if (queue) @@ -882,14 +884,15 @@ static struct virtqueue *vring_create_virtqueue_split( if (!queue) { /* Try to get a single page. You are my only hope! */ - queue = vring_alloc_queue(vdev, vring_size(num, vring_align), + queue = vring_alloc_queue(vdev, + vring_legacy_size(num, vring_align), &dma_addr, GFP_KERNEL|__GFP_ZERO); } if (!queue) return NULL; - queue_size_in_bytes = vring_size(num, vring_align); - vring_init(&vring, num, queue, vring_align); + queue_size_in_bytes = vring_legacy_size(num, vring_align); + vring_legacy_init(&vring, num, queue, vring_align); vq = __vring_new_virtqueue(index, vring, vdev, weak_barriers, context, notify, callback, name); @@ -2169,7 +2172,7 @@ struct virtqueue *vring_new_virtqueue(unsigned int index, if (virtio_has_feature(vdev, VIRTIO_F_RING_PACKED)) return NULL; - vring_init(&vring, num, pages, vring_align); + vring_legacy_init(&vring, num, pages, vring_align); return __vring_new_virtqueue(index, vring, vdev, weak_barriers, context, notify, callback, name); } -- MST
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com> To: linux-kernel@vger.kernel.org Cc: Jason Wang <jasowang@redhat.com>, virtualization@lists.linux-foundation.org Subject: [PATCH v4 08/12] virtio_ring: switch to virtio_legacy_init/size Date: Mon, 6 Apr 2020 17:34:41 -0400 [thread overview] Message-ID: <20200406210108.148131-9-mst@redhat.com> (raw) Message-ID: <20200406213441.NT3uwBqQUtxIq9JeLuXQzBEnI6IgdMoR0Y4ETRYyqqk@z> (raw) In-Reply-To: <20200406210108.148131-1-mst@redhat.com> These are used for legacy ring format, switch to APIs that make this explicit. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- drivers/virtio/virtio_ring.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 58b96baa8d48..2a2b12449bac 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -867,8 +867,10 @@ static struct virtqueue *vring_create_virtqueue_split( } /* TODO: allocate each queue chunk individually */ - for (; num && vring_size(num, vring_align) > PAGE_SIZE; num /= 2) { - queue = vring_alloc_queue(vdev, vring_size(num, vring_align), + for (; num && vring_legacy_size(num, vring_align) > PAGE_SIZE; + num /= 2) { + queue = vring_alloc_queue(vdev, + vring_legacy_size(num, vring_align), &dma_addr, GFP_KERNEL|__GFP_NOWARN|__GFP_ZERO); if (queue) @@ -882,14 +884,15 @@ static struct virtqueue *vring_create_virtqueue_split( if (!queue) { /* Try to get a single page. You are my only hope! */ - queue = vring_alloc_queue(vdev, vring_size(num, vring_align), + queue = vring_alloc_queue(vdev, + vring_legacy_size(num, vring_align), &dma_addr, GFP_KERNEL|__GFP_ZERO); } if (!queue) return NULL; - queue_size_in_bytes = vring_size(num, vring_align); - vring_init(&vring, num, queue, vring_align); + queue_size_in_bytes = vring_legacy_size(num, vring_align); + vring_legacy_init(&vring, num, queue, vring_align); vq = __vring_new_virtqueue(index, vring, vdev, weak_barriers, context, notify, callback, name); @@ -2169,7 +2172,7 @@ struct virtqueue *vring_new_virtqueue(unsigned int index, if (virtio_has_feature(vdev, VIRTIO_F_RING_PACKED)) return NULL; - vring_init(&vring, num, pages, vring_align); + vring_legacy_init(&vring, num, pages, vring_align); return __vring_new_virtqueue(index, vring, vdev, weak_barriers, context, notify, callback, name); } -- MST
next prev parent reply other threads:[~2020-04-06 21:02 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-06 21:01 [PATCH v4 00/12] virtio: alignment issues Michael S. Tsirkin 2020-04-06 21:01 ` [PATCH v4 01/12] tools/virtio: define aligned attribute Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:01 ` [PATCH v4 02/12] tools/virtio: make asm/barrier.h self contained Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:01 ` [PATCH v4 03/12] tools/virtio: define __KERNEL__ Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:01 ` [PATCH v4 04/12] virtio: add VIRTIO_RING_NO_LEGACY Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:02 ` [PATCH v4 05/12] virtio: stop using legacy struct vring in kernel Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:02 ` [PATCH v4 06/12] vhost: force spec specified alignment on types Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:02 ` [PATCH v4 07/12] virtio: add legacy init/size APIs Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:02 ` Michael S. Tsirkin [this message] 2020-04-06 21:34 ` [PATCH v4 08/12] virtio_ring: switch to virtio_legacy_init/size Michael S. Tsirkin 2020-04-06 21:02 ` [PATCH v4 09/12] tools/virtio: " Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:02 ` [PATCH v4 10/12] vop: " Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:02 ` [PATCH v4 11/12] remoteproc: " Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:02 ` [PATCH v4 12/12] mellanox: " Michael S. Tsirkin 2020-04-06 21:34 ` Michael S. Tsirkin 2020-04-06 21:34 ` [PATCH v4 00/12] virtio: alignment issues 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=20200406210108.148131-9-mst@redhat.com \ --to=mst@redhat.com \ --cc=jasowang@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).