search for: vring_packed_desc_f_avail

Displaying 20 results from an estimated 28 matches for "vring_packed_desc_f_avail".

2018 Dec 07
0
[RFC 3/3] virtio_ring: use new vring flags
...vail_used_flags); /* We're using some buffers from the free list. */ vq->vq.num_free -= 1; @@ -1047,8 +1062,8 @@ static int virtqueue_add_indirect_packed(struct vring_virtqueue *vq, n = 0; vq->packed.avail_wrap_counter ^= 1; vq->packed.avail_used_flags ^= - 1 << VRING_PACKED_DESC_F_AVAIL | - 1 << VRING_PACKED_DESC_F_USED; + BIT(VRING_PACKED_DESC_F_AVAIL) | + BIT(VRING_PACKED_DESC_F_USED); } vq->packed.next_avail_idx = n; vq->free_head = vq->packed.desc_state[id].next; @@ -1141,8 +1156,10 @@ static inline int virtqueue_add_packed(struct virtqueue *_vq,...
2018 Dec 07
7
[RFC 0/3] virtio_ring: define flags as shifts consistently
This is a follow up of the discussion in this thread: https://patchwork.ozlabs.org/patch/1001015/#2042353 Tiwei Bie (3): virtio_ring: define flags as shifts consistently virtio_ring: add VIRTIO_RING_NO_LEGACY virtio_ring: use new vring flags drivers/virtio/virtio_ring.c | 100 ++++++++++++++++++------------- include/uapi/linux/virtio_ring.h | 61 +++++++++++++------ 2 files changed,
2018 Dec 07
7
[RFC 0/3] virtio_ring: define flags as shifts consistently
This is a follow up of the discussion in this thread: https://patchwork.ozlabs.org/patch/1001015/#2042353 Tiwei Bie (3): virtio_ring: define flags as shifts consistently virtio_ring: add VIRTIO_RING_NO_LEGACY virtio_ring: use new vring flags drivers/virtio/virtio_ring.c | 100 ++++++++++++++++++------------- include/uapi/linux/virtio_ring.h | 61 +++++++++++++------ 2 files changed,
2018 Nov 30
4
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...tors. */ > #define VRING_DESC_F_INDIRECT 4 > > +/* > + * Mark a descriptor as available or used in packed ring. > + * Notice: they are defined as shifts instead of shifted values. This looks inconsistent to previous flags, any reason for using shifts? > + */ > +#define VRING_PACKED_DESC_F_AVAIL 7 > +#define VRING_PACKED_DESC_F_USED 15 > + > /* The Host uses this in used->flags to advise the Guest: don't kick me when > * you add a buffer. It's unreliable, so it's simply an optimization. Guest > * will still kick if it's out of buffers. */ > @@...
2018 Nov 30
4
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...tors. */ > #define VRING_DESC_F_INDIRECT 4 > > +/* > + * Mark a descriptor as available or used in packed ring. > + * Notice: they are defined as shifts instead of shifted values. This looks inconsistent to previous flags, any reason for using shifts? > + */ > +#define VRING_PACKED_DESC_F_AVAIL 7 > +#define VRING_PACKED_DESC_F_USED 15 > + > /* The Host uses this in used->flags to advise the Guest: don't kick me when > * you add a buffer. It's unreliable, so it's simply an optimization. Guest > * will still kick if it's out of buffers. */ > @@...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...ERRUPT 0 #define VRING_PACKED_DESC_F_NEXT 0 #define VRING_PACKED_DESC_F_WRITE 1 #define VRING_PACKED_DESC_F_INDIRECT 2 > > > > > > > > > > > > > > > > > > > > > > > > > + */ > > > > > > +#define VRING_PACKED_DESC_F_AVAIL 7 > > > > > > +#define VRING_PACKED_DESC_F_USED 15 > > > > > > + > > > > > > /* The Host uses this in used->flags to advise the Guest: don't kick me when > > > > > > * you add a buffer. It's unreliable, so it...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...ERRUPT 0 #define VRING_PACKED_DESC_F_NEXT 0 #define VRING_PACKED_DESC_F_WRITE 1 #define VRING_PACKED_DESC_F_INDIRECT 2 > > > > > > > > > > > > > > > > > > > > > > > > > + */ > > > > > > +#define VRING_PACKED_DESC_F_AVAIL 7 > > > > > > +#define VRING_PACKED_DESC_F_USED 15 > > > > > > + > > > > > > /* The Host uses this in used->flags to advise the Guest: don't kick me when > > > > > > * you add a buffer. It's unreliable, so it...
2018 Sep 07
2
[PATCH net-next v2 1/5] virtio: add packed ring definitions
On Wed, Jul 11, 2018 at 10:27:07AM +0800, Tiwei Bie wrote: > Signed-off-by: Tiwei Bie <tiwei.bie at intel.com> > --- > include/uapi/linux/virtio_config.h | 3 +++ > include/uapi/linux/virtio_ring.h | 43 ++++++++++++++++++++++++++++++ > 2 files changed, 46 insertions(+) > > diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h >
2018 Sep 07
2
[PATCH net-next v2 1/5] virtio: add packed ring definitions
On Wed, Jul 11, 2018 at 10:27:07AM +0800, Tiwei Bie wrote: > Signed-off-by: Tiwei Bie <tiwei.bie at intel.com> > --- > include/uapi/linux/virtio_config.h | 3 +++ > include/uapi/linux/virtio_ring.h | 43 ++++++++++++++++++++++++++++++ > 2 files changed, 46 insertions(+) > > diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h >
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...g_packed` with _NO_LEGACY? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + */ > > > > > > > > +#define VRING_PACKED_DESC_F_AVAIL 7 > > > > > > > > +#define VRING_PACKED_DESC_F_USED 15 > > > > > > > > + > > > > > > > > /* The Host uses this in used->flags to advise the Guest: don't kick me when > > > > > > > > * you a...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...g_packed` with _NO_LEGACY? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + */ > > > > > > > > +#define VRING_PACKED_DESC_F_AVAIL 7 > > > > > > > > +#define VRING_PACKED_DESC_F_USED 15 > > > > > > > > + > > > > > > > > /* The Host uses this in used->flags to advise the Guest: don't kick me when > > > > > > > > * you a...
2018 Nov 21
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...b/include/uapi/linux/virtio_ring.h @@ -44,6 +44,13 @@ /* This means the buffer contains a list of buffer descriptors. */ #define VRING_DESC_F_INDIRECT 4 +/* + * Mark a descriptor as available or used in packed ring. + * Notice: they are defined as shifts instead of shifted values. + */ +#define VRING_PACKED_DESC_F_AVAIL 7 +#define VRING_PACKED_DESC_F_USED 15 + /* The Host uses this in used->flags to advise the Guest: don't kick me when * you add a buffer. It's unreliable, so it's simply an optimization. Guest * will still kick if it's out of buffers. */ @@ -53,6 +60,23 @@ * optimization...
2018 Sep 10
0
[PATCH net-next v2 1/5] virtio: add packed ring definitions
...gt; > + */ > > +#define VRING_EVENT_F_DESC 0x2 > > + > > /* We support indirect buffer descriptors */ > > #define VIRTIO_RING_F_INDIRECT_DESC 28 > > > > These are for the packed ring, right? Pls prefix accordingly. How about something like this: #define VRING_PACKED_DESC_F_AVAIL (1u << 7) #define VRING_PACKED_DESC_F_USED (1u << 15) #define VRING_PACKED_EVENT_F_ENABLE 0x0 #define VRING_PACKED_EVENT_F_DISABLE 0x1 #define VRING_PACKED_EVENT_F_DESC 0x2 > Also, you likely need macros for the wrap counters. How about something like this: #define VRING_PACKED_...
2018 Nov 30
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...d of shifted values. > > > This looks inconsistent to previous flags, any reason for using shifts? Yeah, it was suggested to use shifts, as _F_ should be a bit number, not a shifted value: https://patchwork.ozlabs.org/patch/942296/#1989390 > > > > + */ > > +#define VRING_PACKED_DESC_F_AVAIL 7 > > +#define VRING_PACKED_DESC_F_USED 15 > > + > > /* The Host uses this in used->flags to advise the Guest: don't kick me when > > * you add a buffer. It's unreliable, so it's simply an optimization. Guest > > * will still kick if it's o...
2023 May 26
1
[PATCH] virtio_ring: validate used buffer length
...6 +1470,7 @@ static inline int virtqueue_add_packed(struct virtqueue *_vq, __le16 head_flags, flags; u16 head, id, prev, curr, avail_used_flags; int err; + u32 buflen = 0; START_USE(vq); @@ -1498,6 +1553,8 @@ static inline int virtqueue_add_packed(struct virtqueue *_vq, 1 << VRING_PACKED_DESC_F_AVAIL | 1 << VRING_PACKED_DESC_F_USED; } + if (n >= out_sgs) + buflen += sg->length; } } @@ -1518,6 +1575,10 @@ static inline int virtqueue_add_packed(struct virtqueue *_vq, vq->packed.desc_state[id].last = prev; vq->packed.desc_state[id].premapped = premapped;...
2018 Nov 30
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...INTERRUPT 1 I do not want all of virtio to become verbose with _SHIFT, ergo we need to change the above 5 to have names which are with _F_ and have the bit number. > > > > > > > > > > > > > > > > > + */ > > > > > +#define VRING_PACKED_DESC_F_AVAIL 7 > > > > > +#define VRING_PACKED_DESC_F_USED 15 > > > > > + > > > > > /* The Host uses this in used->flags to advise the Guest: don't kick me when > > > > > * you add a buffer. It's unreliable, so it's simply an opt...
2018 Nov 30
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...s? We also want to guard layout definitions at the end of that file I think. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + */ > > > > > > > +#define VRING_PACKED_DESC_F_AVAIL 7 > > > > > > > +#define VRING_PACKED_DESC_F_USED 15 > > > > > > > + > > > > > > > /* The Host uses this in used->flags to advise the Guest: don't kick me when > > > > > > > * you add a buffer. It'...
2018 Nov 30
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...gt; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + */ > > > > > > > > > +#define VRING_PACKED_DESC_F_AVAIL 7 > > > > > > > > > +#define VRING_PACKED_DESC_F_USED 15 > > > > > > > > > + > > > > > > > > > /* The Host uses this in used->flags to advise the Guest: don't kick me when > > > > > > > &...
2023 May 31
1
[PATCH] virtio_ring: validate used buffer length
...> > > > > > > > START_USE(vq); > > > > > > > > > > > > > > @@ -1498,6 +1553,8 @@ static inline int virtqueue_add_packed(struct virtqueue *_vq, > > > > > > > 1 << VRING_PACKED_DESC_F_AVAIL | > > > > > > > 1 << VRING_PACKED_DESC_F_USED; > > > > > > > } > > > > > > > + if (n >= out_sgs) > > > > > > > +...
2023 May 31
1
[PATCH] virtio_ring: validate used buffer length
...> > > > > START_USE(vq); > > > > > > > > > > > > > > > > @@ -1498,6 +1553,8 @@ static inline int virtqueue_add_packed(struct virtqueue *_vq, > > > > > > > > 1 << VRING_PACKED_DESC_F_AVAIL | > > > > > > > > 1 << VRING_PACKED_DESC_F_USED; > > > > > > > > } > > > > > > > > + if (n >= out_sgs) > > > > > > >...