search for: vring_packed_event_flag_desc

Displaying 20 results from an estimated 20 matches for "vring_packed_event_flag_desc".

2023 Mar 28
2
9p regression (Was: [PATCH v2] virtio_ring: don't update event idx on get_buf)
...16(_vq->vdev, vq->last_used_idx)); > @@ -1744,7 +1745,8 @@ static void *virtqueue_get_buf_ctx_packed(struct virtqueue *_vq, > * by writing event index and flush out the write before > * the read in the next get_buf call. > */ > - if (vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC) > + if (unlikely(vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC && > + !vq->event_triggered)) > virtio_store_mb(vq->weak_barriers, > &vq->packed.vring.driver->off_wrap, > cpu_to_le16(vq->last_used_idx));
2023 Mar 24
1
[External] Re: [PATCH] virtio_ring: Suppress tx interrupt when napi_tx disable
...@@ static void *virtqueue_get_buf_ctx_packed(struct virtqueue *_vq, > > > * by writing event index and flush out the write before > > > * the read in the next get_buf call. > > > */ > > > - if (vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC) > > > + if (vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC > > > + && (vq->event_triggered == false)) > > > virtio_store_mb(vq->weak_barriers, > > > &...
2023 Mar 27
0
[PATCH v2] virtio_ring: don't update event idx on get_buf
...16(_vq->vdev, vq->last_used_idx)); > @@ -1744,7 +1745,8 @@ static void *virtqueue_get_buf_ctx_packed(struct virtqueue *_vq, > * by writing event index and flush out the write before > * the read in the next get_buf call. > */ > - if (vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC) > + if (unlikely(vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC && > + !vq->event_triggered)) > virtio_store_mb(vq->weak_barriers, > &vq->packed.vring.driver->off_wrap, > cpu_to_le16(vq->last_used_idx)); > -- > 2...
2023 Mar 22
0
[PATCH] virtio_ring: Suppress tx interrupt when napi_tx disable
...last_used_idx)); > @@ -1529,7 +1530,8 @@ static void *virtqueue_get_buf_ctx_packed(struct virtqueue *_vq, > * by writing event index and flush out the write before > * the read in the next get_buf call. > */ > - if (vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC) > + if (vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC > + && (vq->event_triggered == false)) > virtio_store_mb(vq->weak_barriers, > &vq->packed.vring.driver->off_wrap,...
2018 Nov 30
4
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...ng. */ > +#define VRING_PACKED_EVENT_FLAG_DISABLE 0x1 > +/* > + * Enable events for a specific descriptor in packed ring. > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > + */ > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 Any reason for using _FLAG_ instead of _F_? Thanks > + > +/* > + * Wrap counter bit shift in event suppression structure > + * of packed ring. > + */ > +#define VRING_PACKED_EVENT_F_WRAP_CTR 15 > + > /* We support indirect buffer descriptors */ > #define VIRT...
2018 Nov 30
4
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...ng. */ > +#define VRING_PACKED_EVENT_FLAG_DISABLE 0x1 > +/* > + * Enable events for a specific descriptor in packed ring. > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > + */ > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 Any reason for using _FLAG_ instead of _F_? Thanks > + > +/* > + * Wrap counter bit shift in event suppression structure > + * of packed ring. > + */ > +#define VRING_PACKED_EVENT_F_WRAP_CTR 15 > + > /* We support indirect buffer descriptors */ > #define VIRT...
2023 Mar 24
1
[External] Re: [PATCH] virtio_ring: Suppress tx interrupt when napi_tx disable
...gt; > * by writing event index and flush out the write before > > > > > > > > * the read in the next get_buf call. > > > > > > > > */ > > > > > > > > - if (vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC) > > > > > > > > + if (vq->packed.event_flags_shadow == VRING_PACKED_EVENT_FLAG_DESC > > > > > > > > + && (vq->event_triggered == false)) > > > > > > > > virtio_store_mb...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...fic descriptor in packed ring. > > > > > > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > > > > > > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > > > > > > + */ > > > > > > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 > > > > > > > > > > > > > > > Any reason for using _FLAG_ instead of _F_? > > > > > > > > Yeah, it was suggested to not use _F_, as these are values, > > > > should not have _F_: > > > > > > &...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...fic descriptor in packed ring. > > > > > > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > > > > > > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > > > > > > + */ > > > > > > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 > > > > > > > > > > > > > > > Any reason for using _FLAG_ instead of _F_? > > > > > > > > Yeah, it was suggested to not use _F_, as these are values, > > > > should not have _F_: > > > > > > &...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...> > > > > > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > > > > > > > > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > > > > > > > > + */ > > > > > > > > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 > > > > > > > > > > > > > > > > > > > > > Any reason for using _FLAG_ instead of _F_? > > > > > > > > > > > > Yeah, it was suggested to not use _F_, as these are values, > > > > &gt...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...> > > > > > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > > > > > > > > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > > > > > > > > + */ > > > > > > > > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 > > > > > > > > > > > > > > > > > > > > > Any reason for using _FLAG_ instead of _F_? > > > > > > > > > > > > Yeah, it was suggested to not use _F_, as these are values, > > > > &gt...
2018 Nov 21
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...0x0 +/* Disable events in packed ring. */ +#define VRING_PACKED_EVENT_FLAG_DISABLE 0x1 +/* + * Enable events for a specific descriptor in packed ring. + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. + */ +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 + +/* + * Wrap counter bit shift in event suppression structure + * of packed ring. + */ +#define VRING_PACKED_EVENT_F_WRAP_CTR 15 + /* We support indirect buffer descriptors */ #define VIRTIO_RING_F_INDIRECT_DESC 28 @@ -171,4 +195,32 @@ static inline int vring_need_event(__u16 event_idx, _...
2018 Nov 30
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...KED_EVENT_FLAG_DISABLE 0x1 > > +/* > > + * Enable events for a specific descriptor in packed ring. > > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > > + */ > > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 > > > Any reason for using _FLAG_ instead of _F_? Yeah, it was suggested to not use _F_, as these are values, should not have _F_: https://patchwork.ozlabs.org/patch/942296/#1989390 Regards, Tiwei > > Thanks > > > > + > > +/* > > + * Wrap counter...
2018 Nov 30
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...e events for a specific descriptor in packed ring. > > > > > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > > > > > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > > > > > + */ > > > > > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 > > > > > > > > > > > > Any reason for using _FLAG_ instead of _F_? > > > > > > Yeah, it was suggested to not use _F_, as these are values, > > > should not have _F_: > > > > > > https://patchwork.ozlabs.org/pa...
2018 Nov 30
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...cked ring. > > > > > > > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > > > > > > > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > > > > > > > + */ > > > > > > > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 > > > > > > > > > > > > > > > > > > Any reason for using _FLAG_ instead of _F_? > > > > > > > > > > Yeah, it was suggested to not use _F_, as these are values, > > > > > should not have _F_: &g...
2018 Nov 30
0
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...> > > + * (as specified by Descriptor Ring Change Event Offset/Wrap Counter). > > > > > > > > > + * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated. > > > > > > > > > + */ > > > > > > > > > +#define VRING_PACKED_EVENT_FLAG_DESC 0x2 > > > > > > > > > > > > > > > > > > > > > > > > Any reason for using _FLAG_ instead of _F_? > > > > > > > > > > > > > > Yeah, it was suggested to not use _F_, as these are values...
2018 Nov 21
19
[PATCH net-next v3 00/13] virtio: support packed ring
Hi, This patch set implements packed ring support in virtio driver. A performance test between pktgen (pktgen_sample03_burst_single_flow.sh) and DPDK vhost (testpmd/rxonly/vhost-PMD) has been done, I saw ~30% performance gain in packed ring in this case. To make this patch set work with below patch set for vhost, some hacks are needed to set the _F_NEXT flag in indirect descriptors (this should
2018 Nov 21
19
[PATCH net-next v3 00/13] virtio: support packed ring
Hi, This patch set implements packed ring support in virtio driver. A performance test between pktgen (pktgen_sample03_burst_single_flow.sh) and DPDK vhost (testpmd/rxonly/vhost-PMD) has been done, I saw ~30% performance gain in packed ring in this case. To make this patch set work with below patch set for vhost, some hacks are needed to set the _F_NEXT flag in indirect descriptors (this should
2019 Jul 17
17
[PATCH V3 00/15] Packed virtqueue support for vhost
Hi all: This series implements packed virtqueues which were described at [1]. In this version we try to address the performance regression saw by V2. The root cause is packed virtqueue need more times of userspace memory accesssing which turns out to be very expensive. Thanks to the help of 7f466032dc9e ("vhost: access vq metadata through kernel virtual address"), such overhead cold be
2019 Jul 17
17
[PATCH V3 00/15] Packed virtqueue support for vhost
Hi all: This series implements packed virtqueues which were described at [1]. In this version we try to address the performance regression saw by V2. The root cause is packed virtqueue need more times of userspace memory accesssing which turns out to be very expensive. Thanks to the help of 7f466032dc9e ("vhost: access vq metadata through kernel virtual address"), such overhead cold be