search for: virtq_desc_f_avail

Displaying 12 results from an estimated 12 matches for "virtq_desc_f_avail".

2018 Apr 23
2
[RFC v2] virtio: support packed ring
...> > + vq->vring_packed.desc[last_used].flags); > > + avail = flags & VRING_DESC_F_AVAIL(1); > > + used = flags & VRING_DESC_F_USED(1); > > + > > + return avail == used; > > +} > > This looks interesting, spec said: > > " > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > available descriptor and > equal for a used descriptor. > Note that this observation is mostly useful for sanity-checking as these are > necessary but not sufficient > conditions - for example, all descriptors are zero-initialized. To...
2018 Apr 23
2
[RFC v2] virtio: support packed ring
...> > + vq->vring_packed.desc[last_used].flags); > > + avail = flags & VRING_DESC_F_AVAIL(1); > > + used = flags & VRING_DESC_F_USED(1); > > + > > + return avail == used; > > +} > > This looks interesting, spec said: > > " > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > available descriptor and > equal for a used descriptor. > Note that this observation is mostly useful for sanity-checking as these are > necessary but not sufficient > conditions - for example, all descriptors are zero-initialized. To...
2018 Apr 24
3
[RFC v2] virtio: support packed ring
...il = flags & VRING_DESC_F_AVAIL(1); > > > > + used = flags & VRING_DESC_F_USED(1); > > > > + > > > > + return avail == used; > > > > +} > > > This looks interesting, spec said: > > > > > > " > > > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > > > available descriptor and > > > equal for a used descriptor. > > > Note that this observation is mostly useful for sanity-checking as these are > > > necessary but not sufficient > > > conditions - for...
2018 Apr 24
3
[RFC v2] virtio: support packed ring
...il = flags & VRING_DESC_F_AVAIL(1); > > > > + used = flags & VRING_DESC_F_USED(1); > > > > + > > > > + return avail == used; > > > > +} > > > This looks interesting, spec said: > > > > > > " > > > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > > > available descriptor and > > > equal for a used descriptor. > > > Note that this observation is mostly useful for sanity-checking as these are > > > necessary but not sufficient > > > conditions - for...
2018 Apr 24
0
[RFC v2] virtio: support packed ring
...ing_packed.desc[last_used].flags); >>> + avail = flags & VRING_DESC_F_AVAIL(1); >>> + used = flags & VRING_DESC_F_USED(1); >>> + >>> + return avail == used; >>> +} >> This looks interesting, spec said: >> >> " >> Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an >> available descriptor and >> equal for a used descriptor. >> Note that this observation is mostly useful for sanity-checking as these are >> necessary but not sufficient >> conditions - for example, all descriptors are...
2018 Apr 24
0
[RFC v2] virtio: support packed ring
...> > > > > + used = flags & VRING_DESC_F_USED(1); > > > > > + > > > > > + return avail == used; > > > > > +} > > > > This looks interesting, spec said: > > > > > > > > " > > > > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > > > > available descriptor and > > > > equal for a used descriptor. > > > > Note that this observation is mostly useful for sanity-checking as these are > > > > necessary but not sufficient > > &...
2018 Apr 23
0
[RFC v2] virtio: support packed ring
...ed_idx; > + flags = virtio16_to_cpu(vq->vq.vdev, > + vq->vring_packed.desc[last_used].flags); > + avail = flags & VRING_DESC_F_AVAIL(1); > + used = flags & VRING_DESC_F_USED(1); > + > + return avail == used; > +} This looks interesting, spec said: " Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an available descriptor and equal for a used descriptor. Note that this observation is mostly useful for sanity-checking as these are necessary but not sufficient conditions - for example, all descriptors are zero-initialized. To detect used and avail...
2018 Jan 14
1
PCIe ordering and new VIRTIO packed ring format.
...t memory, a Requester reading that QWORD from host memory may observe a portion of the QWORD updated and another portion of it containing the old value." This means that after the device reads a 16byte descriptor, it cannot know that all the values In the descriptor are up to date even if the VIRTQ_DESC_F_AVAIL bit is set. This is true even if the driver uses the appropriate memory barriers. We encountered this behavior in practice on x86 servers. Our solution was to add an index to the latest valid descriptor Note that in practice the update granularity in x86 seems to be a cacheline, But this is not g...
2018 Apr 24
2
[RFC v2] virtio: support packed ring
...lags & VRING_DESC_F_USED(1); > > > > > > + > > > > > > + return avail == used; > > > > > > +} > > > > > This looks interesting, spec said: > > > > > > > > > > " > > > > > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > > > > > available descriptor and > > > > > equal for a used descriptor. > > > > > Note that this observation is mostly useful for sanity-checking as these are > > > > > necessary but not su...
2018 Apr 24
2
[RFC v2] virtio: support packed ring
...lags & VRING_DESC_F_USED(1); > > > > > > + > > > > > > + return avail == used; > > > > > > +} > > > > > This looks interesting, spec said: > > > > > > > > > > " > > > > > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > > > > > available descriptor and > > > > > equal for a used descriptor. > > > > > Note that this observation is mostly useful for sanity-checking as these are > > > > > necessary but not su...
2018 Apr 01
8
[RFC v2] virtio: support packed ring
Hello everyone, This RFC implements packed ring support for virtio driver. The code was tested with DPDK vhost (testpmd/vhost-PMD) implemented by Jens at http://dpdk.org/ml/archives/dev/2018-January/089417.html Minor changes are needed for the vhost code, e.g. to kick the guest. TODO: - Refinements and bug fixes; - Split into small patches; - Test indirect descriptor support; - Test/fix event
2018 Apr 01
8
[RFC v2] virtio: support packed ring
Hello everyone, This RFC implements packed ring support for virtio driver. The code was tested with DPDK vhost (testpmd/vhost-PMD) implemented by Jens at http://dpdk.org/ml/archives/dev/2018-January/089417.html Minor changes are needed for the vhost code, e.g. to kick the guest. TODO: - Refinements and bug fixes; - Split into small patches; - Test indirect descriptor support; - Test/fix event