search for: queue_size_in_bytes

Displaying 20 results from an estimated 81 matches for "queue_size_in_bytes".

2016 Feb 02
1
[PATCH v6 6/9] virtio: Add improved queue allocation API
....c > +++ b/drivers/virtio/virtio_ring.c > @@ -95,6 +95,11 @@ struct vring_virtqueue { > /* How to notify other side. FIXME: commonalize hcalls! */ > bool (*notify)(struct virtqueue *vq); > > + /* DMA, allocation, and size information */ > + bool we_own_ring; > + size_t queue_size_in_bytes; > + dma_addr_t queue_dma_addr; > + > #ifdef DEBUG > /* They're supposed to lock for us. */ > unsigned int in_use; > @@ -878,36 +883,31 @@ irqreturn_t vring_interrupt(int irq, void *_vq) > } > EXPORT_SYMBOL_GPL(vring_interrupt); > > -struct virtqueue *vrin...
2016 Feb 02
1
[PATCH v6 6/9] virtio: Add improved queue allocation API
....c > +++ b/drivers/virtio/virtio_ring.c > @@ -95,6 +95,11 @@ struct vring_virtqueue { > /* How to notify other side. FIXME: commonalize hcalls! */ > bool (*notify)(struct virtqueue *vq); > > + /* DMA, allocation, and size information */ > + bool we_own_ring; > + size_t queue_size_in_bytes; > + dma_addr_t queue_dma_addr; > + > #ifdef DEBUG > /* They're supposed to lock for us. */ > unsigned int in_use; > @@ -878,36 +883,31 @@ irqreturn_t vring_interrupt(int irq, void *_vq) > } > EXPORT_SYMBOL_GPL(vring_interrupt); > > -struct virtqueue *vrin...
2016 Feb 01
0
[PATCH v6 6/9] virtio: Add improved queue allocation API
...100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -95,6 +95,11 @@ struct vring_virtqueue { /* How to notify other side. FIXME: commonalize hcalls! */ bool (*notify)(struct virtqueue *vq); + /* DMA, allocation, and size information */ + bool we_own_ring; + size_t queue_size_in_bytes; + dma_addr_t queue_dma_addr; + #ifdef DEBUG /* They're supposed to lock for us. */ unsigned int in_use; @@ -878,36 +883,31 @@ irqreturn_t vring_interrupt(int irq, void *_vq) } EXPORT_SYMBOL_GPL(vring_interrupt); -struct virtqueue *vring_new_virtqueue(unsigned int index, - uns...
2018 Mar 16
3
[PATCH RFC 2/2] virtio_ring: support packed ring
...ign, >>>>>>> + packed), >>>>>>> &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_size(num, vring_align, packed); >>>>>>> + if (packed) >>>>>>> + vring_packed_init(&...
2018 Mar 16
3
[PATCH RFC 2/2] virtio_ring: support packed ring
...ign, >>>>>>> + packed), >>>>>>> &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_size(num, vring_align, packed); >>>>>>> + if (packed) >>>>>>> + vring_packed_init(&...
2016 Apr 04
2
[PATCH] virtio: fix "warning: ‘queue’ may be used uninitialized"
...+- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -1006,7 +1006,7 @@ struct virtqueue *vring_create_virtqueue const char *name) { struct virtqueue *vq; - void *queue; + void *queue = NULL; dma_addr_t dma_addr; size_t queue_size_in_bytes; struct vring vring; -- Jeff Mahoney SUSE Labs
2016 Apr 04
2
[PATCH] virtio: fix "warning: ‘queue’ may be used uninitialized"
...+- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -1006,7 +1006,7 @@ struct virtqueue *vring_create_virtqueue const char *name) { struct virtqueue *vq; - void *queue; + void *queue = NULL; dma_addr_t dma_addr; size_t queue_size_in_bytes; struct vring vring; -- Jeff Mahoney SUSE Labs
2018 Mar 16
2
[PATCH RFC 2/2] virtio_ring: support packed ring
...t;> struct virtqueue *vring_create_virtqueue( >>> unsigned int index, >>> unsigned int num, >>> @@ -1074,7 +1572,8 @@ struct virtqueue *vring_create_virtqueue( >>> void *queue = NULL; >>> dma_addr_t dma_addr; >>> size_t queue_size_in_bytes; >>> - struct vring vring; >>> + union vring_union vring; >>> + bool packed; >>> /* We assume num is a power of 2. */ >>> if (num & (num - 1)) { >>> @@ -1082,9 +1581,13 @@ struct virtqueue *vring_create_virtqueue( >>> r...
2018 Mar 16
2
[PATCH RFC 2/2] virtio_ring: support packed ring
...t;> struct virtqueue *vring_create_virtqueue( >>> unsigned int index, >>> unsigned int num, >>> @@ -1074,7 +1572,8 @@ struct virtqueue *vring_create_virtqueue( >>> void *queue = NULL; >>> dma_addr_t dma_addr; >>> size_t queue_size_in_bytes; >>> - struct vring vring; >>> + union vring_union vring; >>> + bool packed; >>> /* We assume num is a power of 2. */ >>> if (num & (num - 1)) { >>> @@ -1082,9 +1581,13 @@ struct virtqueue *vring_create_virtqueue( >>> r...
2018 Mar 16
2
[PATCH RFC 2/2] virtio_ring: support packed ring
...= vring_alloc_queue(vdev, __vring_size(num, vring_align, >>>>> + packed), >>>>> &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_size(num, vring_align, packed); >>>>> + if (packed) >>>>> + vring_packed_init(&vring.vring_packed, num, que...
2018 Mar 16
2
[PATCH RFC 2/2] virtio_ring: support packed ring
...= vring_alloc_queue(vdev, __vring_size(num, vring_align, >>>>> + packed), >>>>> &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_size(num, vring_align, packed); >>>>> + if (packed) >>>>> + vring_packed_init(&vring.vring_packed, num, que...
2016 Feb 01
14
[PATCH v6 0/9] virtio DMA API, yet again
This switches virtio to use the DMA API on Xen and if requested by module option. This fixes virtio on Xen, and it should break anything because it's off by default on everything except Xen PV on x86. To the Xen people: is this okay? If it doesn't work on other Xen variants (PVH? HVM?), can you submit follow-up patches to fix it? To everyone else: we've waffled on this for way too
2016 Feb 01
14
[PATCH v6 0/9] virtio DMA API, yet again
This switches virtio to use the DMA API on Xen and if requested by module option. This fixes virtio on Xen, and it should break anything because it's off by default on everything except Xen PV on x86. To the Xen people: is this okay? If it doesn't work on other Xen variants (PVH? HVM?), can you submit follow-up patches to fix it? To everyone else: we've waffled on this for way too
2018 Mar 16
0
[PATCH RFC 2/2] virtio_ring: support packed ring
...+ queue = vring_alloc_queue(vdev, __vring_size(num, vring_align, > > > > + packed), > > > > &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_size(num, vring_align, packed); > > > > + if (packed) > > > > + vring_packed_init(&vring.vring_packed, num, queue,...
2018 Mar 16
0
[PATCH RFC 2/2] virtio_ring: support packed ring
...> > > > > > > > &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_size(num, vring_align, packed); > > > > > > > > + if (packed) > > > &gt...
2020 Apr 06
0
[PATCH v4 08/12] virtio_ring: switch to virtio_legacy_init/size
...f (!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, callba...
2020 Apr 06
0
[PATCH v5 08/12] virtio_ring: switch to virtio_legacy_init/size
...f (!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, callba...
2020 Apr 06
0
[PATCH v6 08/12] virtio_ring: switch to virtio_legacy_init/size
...f (!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, callba...
2020 Apr 07
0
[PATCH v7 12/19] virtio_ring: switch to virtio_legacy_init/size
...f (!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, callba...
2020 Apr 07
0
[PATCH v8 12/19] virtio_ring: switch to virtio_legacy_init/size
...f (!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, callba...