search for: desc_event_flags

Displaying 20 results from an estimated 47 matches for "desc_event_flags".

2018 Mar 30
1
[RFC PATCH V2 8/8] vhost: event suppression for packed ring
...v, wrap; > + int off; > + > + /* Flush out used descriptors updates. This is paired > + * with the barrier that the Guest executes when enabling > + * interrupts. > + */ > + smp_mb(); > + > + if (vhost_get_avail(vq, event_flags, > + &vq->driver_event->desc_event_flags) < 0) { > + vq_err(vq, "Failed to get driver desc_event_flags"); > + return true; > + } > + > + if (!(event_flags & cpu_to_vhost16(vq, RING_EVENT_FLAGS_DESC))) > + return event_flags == > + cpu_to_vhost16(vq, RING_EVENT_FLAGS_ENABLE); Maybe it would...
2018 Mar 26
0
[RFC PATCH V2 8/8] vhost: event suppression for packed ring
...tic int vhost_update_used_flags(struct vhost_virtqueue *vq) return 0; } +static int vhost_update_device_flags(struct vhost_virtqueue *vq, + __virtio16 device_flags) +{ + void __user *flags; + + if (vhost_put_user(vq, cpu_to_vhost16(vq, device_flags), + &vq->device_event->desc_event_flags, + VHOST_ADDR_DESC) < 0) + return -EFAULT; + if (unlikely(vq->log_used)) { + /* Make sure the flag is seen before log. */ + smp_wmb(); + /* Log used flag write. */ + flags = &vq->device_event->desc_event_flags; + log_write(vq->log_base, vq->log_addr + + (flags -...
2018 Apr 17
2
[RFC v2] virtio: support packed ring
...false; > > > > +#endif > > > > + > > > > + off_wrap = virtio16_to_cpu(_vq->vdev, vq->vring_packed.device->off_wrap); > > > > + > > > > + if (vq->event) { > > > It looks to me we should examine RING_EVENT_FLAGS_DESC in desc_event_flags > > > instead of vq->event here. Spec does not forces to use evenf_off and > > > event_wrap if event index is enabled. > > > > > > > + // FIXME: fix this! > > > > + needs_kick = ((off_wrap >> 15) == vq->wrap_counter) && >...
2018 Apr 17
2
[RFC v2] virtio: support packed ring
...false; > > > > +#endif > > > > + > > > > + off_wrap = virtio16_to_cpu(_vq->vdev, vq->vring_packed.device->off_wrap); > > > > + > > > > + if (vq->event) { > > > It looks to me we should examine RING_EVENT_FLAGS_DESC in desc_event_flags > > > instead of vq->event here. Spec does not forces to use evenf_off and > > > event_wrap if event index is enabled. > > > > > > > + // FIXME: fix this! > > > > + needs_kick = ((off_wrap >> 15) == vq->wrap_counter) && >...
2018 Apr 17
0
[RFC v2] virtio: support packed ring
...include/uapi/linux/virtio_config.h | 12 +- >>>>> include/uapi/linux/virtio_ring.h | 61 ++ >>>>> 4 files changed, 980 insertions(+), 195 deletions(-) >>> [...] [...] >>>> It looks to me we should examine RING_EVENT_FLAGS_DESC in desc_event_flags >>>> instead of vq->event here. Spec does not forces to use evenf_off and >>>> event_wrap if event index is enabled. >>>> >>>>> + // FIXME: fix this! >>>>> + needs_kick = ((off_wrap >> 15) == vq->wrap_counter) &&amp...
2018 Feb 27
3
[PATCH RFC 1/2] virtio: introduce packed ring defines
...struct vring { > struct vring_used *used; > }; > >+struct vring_packed_desc_event { >+ /* Descriptor Event Offset */ >+ __virtio16 desc_event_off : 15, >+ /* Descriptor Event Wrap Counter */ >+ desc_event_wrap : 1; >+ /* Descriptor Event Flags */ >+ __virtio16 desc_event_flags : 2; >+}; Where would the virtqueue number go in driver notifications? regards, Jens
2018 Feb 27
1
[PATCH RFC 1/2] virtio: introduce packed ring defines
...rom: Tiwei Bie > Sent: 23 February 2018 11:18 ... > +struct vring_packed_desc_event { > + /* Descriptor Event Offset */ > + __virtio16 desc_event_off : 15, > + /* Descriptor Event Wrap Counter */ > + desc_event_wrap : 1; > + /* Descriptor Event Flags */ > + __virtio16 desc_event_flags : 2; > +}; This looks like you are assuming that a bit-field has a defined layout and can be used to map a 'hardware' structure. The don't, don't use them like that. David
2018 Apr 13
3
[RFC v2] virtio: support packed ring
...> > + } > > + vq->last_add_time_valid = false; > > +#endif > > + > > + off_wrap = virtio16_to_cpu(_vq->vdev, vq->vring_packed.device->off_wrap); > > + > > + if (vq->event) { > > It looks to me we should examine RING_EVENT_FLAGS_DESC in desc_event_flags > instead of vq->event here. Spec does not forces to use evenf_off and > event_wrap if event index is enabled. > > > + // FIXME: fix this! > > + needs_kick = ((off_wrap >> 15) == vq->wrap_counter) && > > + vring_need_event(off_wrap & ~(1&...
2018 Apr 13
3
[RFC v2] virtio: support packed ring
...> > + } > > + vq->last_add_time_valid = false; > > +#endif > > + > > + off_wrap = virtio16_to_cpu(_vq->vdev, vq->vring_packed.device->off_wrap); > > + > > + if (vq->event) { > > It looks to me we should examine RING_EVENT_FLAGS_DESC in desc_event_flags > instead of vq->event here. Spec does not forces to use evenf_off and > event_wrap if event index is enabled. > > > + // FIXME: fix this! > > + needs_kick = ((off_wrap >> 15) == vq->wrap_counter) && > > + vring_need_event(off_wrap & ~(1&...
2018 Apr 17
0
[RFC v2] virtio: support packed ring
...t;>> + vq->last_add_time_valid = false; >>> +#endif >>> + >>> + off_wrap = virtio16_to_cpu(_vq->vdev, vq->vring_packed.device->off_wrap); >>> + >>> + if (vq->event) { >> It looks to me we should examine RING_EVENT_FLAGS_DESC in desc_event_flags >> instead of vq->event here. Spec does not forces to use evenf_off and >> event_wrap if event index is enabled. >> >>> + // FIXME: fix this! >>> + needs_kick = ((off_wrap >> 15) == vq->wrap_counter) && >>> + vring_need_event...
2018 Apr 23
2
[RFC V3 PATCH 0/8] Packed ring for vhost
...with split ring. > > I have to ask then - what is the benefit of this? You can use this with dpdk within guest. The DPDK version did see a performance improvement so hopefully with future versions this will too. > > > > Changes from V2: > > - do not use & in checking desc_event_flags > > - off should be most significant bit > > - remove the workaround of mergeable buffer for dpdk prototype > > - id should be in the last descriptor in the chain > > - keep _F_WRITE for write descriptor when adding used > > - device flags updating should use ADDR_USED...
2018 Apr 23
2
[RFC V3 PATCH 0/8] Packed ring for vhost
...with split ring. > > I have to ask then - what is the benefit of this? You can use this with dpdk within guest. The DPDK version did see a performance improvement so hopefully with future versions this will too. > > > > Changes from V2: > > - do not use & in checking desc_event_flags > > - off should be most significant bit > > - remove the workaround of mergeable buffer for dpdk prototype > > - id should be in the last descriptor in the chain > > - keep _F_WRITE for write descriptor when adding used > > - device flags updating should use ADDR_USED...
2018 Mar 26
12
[RFC PATCH V2 0/8] Packed ring for vhost
Hi all: This RFC implement packed ring layout. The code were tested with pmd implement by Jens at http://dpdk.org/ml/archives/dev/2018-January/089417.html. Minor change was needed for pmd codes to kick virtqueue since it assumes a busy polling backend. Test were done between localhost and guest. Testpmd (rxonly) in guest reports 2.4Mpps. Testpmd (txonly) repots about 2.1Mpps. Notes: The event
2018 Mar 26
12
[RFC PATCH V2 0/8] Packed ring for vhost
Hi all: This RFC implement packed ring layout. The code were tested with pmd implement by Jens at http://dpdk.org/ml/archives/dev/2018-January/089417.html. Minor change was needed for pmd codes to kick virtqueue since it assumes a busy polling backend. Test were done between localhost and guest. Testpmd (rxonly) in guest reports 2.4Mpps. Testpmd (txonly) repots about 2.1Mpps. Notes: The event
2018 May 21
1
[RFC V4 PATCH 0/8] Packed ring layout for vhost
...ks > > Wei > >> Changes from V3: >> - Fix math on event idx checking >> - Sync last avail wrap counter through GET/SET_VRING_BASE >> - remove desc_event prefix in the driver/device structure >> >> Changes from V2: >> - do not use & in checking desc_event_flags >> - off should be most significant bit >> - remove the workaround of mergeable buffer for dpdk prototype >> - id should be in the last descriptor in the chain >> - keep _F_WRITE for write descriptor when adding used >> - device flags updating should use ADDR_USED type...
2018 Jul 16
3
[PATCH net-next V2 0/8] Packed virtqueue support for vhost
...;> Changes from RFC V3: >> >> - Fix math on event idx checking >> - Sync last avail wrap counter through GET/SET_VRING_BASE >> - remove desc_event prefix in the driver/device structure >> >> Changes from RFC V2: >> >> - do not use & in checking desc_event_flags >> - off should be most significant bit >> - remove the workaround of mergeable buffer for dpdk prototype >> - id should be in the last descriptor in the chain >> - keep _F_WRITE for write descriptor when adding used >> - device flags updating should use ADDR_USED type...
2018 Jul 16
3
[PATCH net-next V2 0/8] Packed virtqueue support for vhost
...;> Changes from RFC V3: >> >> - Fix math on event idx checking >> - Sync last avail wrap counter through GET/SET_VRING_BASE >> - remove desc_event prefix in the driver/device structure >> >> Changes from RFC V2: >> >> - do not use & in checking desc_event_flags >> - off should be most significant bit >> - remove the workaround of mergeable buffer for dpdk prototype >> - id should be in the last descriptor in the chain >> - keep _F_WRITE for write descriptor when adding used >> - device flags updating should use ADDR_USED type...
2018 Apr 23
11
[RFC V3 PATCH 0/8] Packed ring for vhost
...layout. The code were tested with Tiwei's RFC V2 a thttps://lkml.org/lkml/2018/4/1/48. Some fixups and tweaks were needed on top of Tiwei's code to make it run. TCP stream and pktgen does not show obvious difference compared with split ring. Changes from V2: - do not use & in checking desc_event_flags - off should be most significant bit - remove the workaround of mergeable buffer for dpdk prototype - id should be in the last descriptor in the chain - keep _F_WRITE for write descriptor when adding used - device flags updating should use ADDR_USED type - return error on unexpected unavail descrip...
2018 Apr 23
11
[RFC V3 PATCH 0/8] Packed ring for vhost
...layout. The code were tested with Tiwei's RFC V2 a thttps://lkml.org/lkml/2018/4/1/48. Some fixups and tweaks were needed on top of Tiwei's code to make it run. TCP stream and pktgen does not show obvious difference compared with split ring. Changes from V2: - do not use & in checking desc_event_flags - off should be most significant bit - remove the workaround of mergeable buffer for dpdk prototype - id should be in the last descriptor in the chain - keep _F_WRITE for write descriptor when adding used - device flags updating should use ADDR_USED type - return error on unexpected unavail descrip...
2018 Apr 23
0
[RFC V3 PATCH 0/8] Packed ring for vhost
...l/2018/4/1/48. Some fixups and > tweaks were needed on top of Tiwei's code to make it run. TCP stream > and pktgen does not show obvious difference compared with split ring. I have to ask then - what is the benefit of this? > > Changes from V2: > - do not use & in checking desc_event_flags > - off should be most significant bit > - remove the workaround of mergeable buffer for dpdk prototype > - id should be in the last descriptor in the chain > - keep _F_WRITE for write descriptor when adding used > - device flags updating should use ADDR_USED type > - return error...