search for: buffer_id

Displaying 10 results from an estimated 10 matches for "buffer_id".

Did you mean: buffer_dir
2018 May 16
2
[RFC v4 3/5] virtio_ring: add packed ring support
...tor list length. */ > }; > > struct vring_virtqueue { > @@ -116,6 +117,9 @@ struct vring_virtqueue { > /* Last written value to driver->flags in > * guest byte order. */ > u16 event_flags_shadow; > + > + /* ID allocation. */ > + struct idr buffer_id; I'm not sure idr is fit for the performance critical case here. Need to measure its performance impact, especially if we have few unused slots. > }; > }; > > @@ -142,6 +146,16 @@ struct vring_virtqueue { > > #define to_vvq(_vq) container_of(_vq, struct vring...
2018 May 16
2
[RFC v4 3/5] virtio_ring: add packed ring support
...tor list length. */ > }; > > struct vring_virtqueue { > @@ -116,6 +117,9 @@ struct vring_virtqueue { > /* Last written value to driver->flags in > * guest byte order. */ > u16 event_flags_shadow; > + > + /* ID allocation. */ > + struct idr buffer_id; I'm not sure idr is fit for the performance critical case here. Need to measure its performance impact, especially if we have few unused slots. > }; > }; > > @@ -142,6 +146,16 @@ struct vring_virtqueue { > > #define to_vvq(_vq) container_of(_vq, struct vring...
2018 May 16
0
[RFC v4 3/5] virtio_ring: add packed ring support
...Indirect descriptor, if any. */ + int num; /* Descriptor list length. */ }; struct vring_virtqueue { @@ -116,6 +117,9 @@ struct vring_virtqueue { /* Last written value to driver->flags in * guest byte order. */ u16 event_flags_shadow; + + /* ID allocation. */ + struct idr buffer_id; }; }; @@ -142,6 +146,16 @@ struct vring_virtqueue { #define to_vvq(_vq) container_of(_vq, struct vring_virtqueue, vq) +static inline bool virtqueue_use_indirect(struct virtqueue *_vq, + unsigned int total_sg) +{ + struct vring_virtqueue *vq = to_vvq(_vq); + + /* If the host suppo...
2018 May 16
2
[RFC v4 3/5] virtio_ring: add packed ring support
...irtqueue { >>> @@ -116,6 +117,9 @@ struct vring_virtqueue { >>> /* Last written value to driver->flags in >>> * guest byte order. */ >>> u16 event_flags_shadow; >>> + >>> + /* ID allocation. */ >>> + struct idr buffer_id; >> I'm not sure idr is fit for the performance critical case here. Need to >> measure its performance impact, especially if we have few unused slots. > I'm also not sure.. But fortunately, it should be quite easy > to replace it with something else without changing other...
2018 May 16
2
[RFC v4 3/5] virtio_ring: add packed ring support
...irtqueue { >>> @@ -116,6 +117,9 @@ struct vring_virtqueue { >>> /* Last written value to driver->flags in >>> * guest byte order. */ >>> u16 event_flags_shadow; >>> + >>> + /* ID allocation. */ >>> + struct idr buffer_id; >> I'm not sure idr is fit for the performance critical case here. Need to >> measure its performance impact, especially if we have few unused slots. > I'm also not sure.. But fortunately, it should be quite easy > to replace it with something else without changing other...
2018 May 16
8
[RFC v4 0/5] virtio: support packed ring
Hello everyone, This RFC implements packed ring support in virtio driver. Some simple functional tests have been done with Jason's packed ring implementation in vhost: https://lkml.org/lkml/2018/4/23/12 Both of ping and netperf worked as expected (with EVENT_IDX disabled). TODO: - Refinements (for code and commit log); - More tests; - Bug fixes; RFC v3 -> RFC v4: - Make ID allocation
2018 May 16
0
[RFC v4 3/5] virtio_ring: add packed ring support
...t; > struct vring_virtqueue { > > @@ -116,6 +117,9 @@ struct vring_virtqueue { > > /* Last written value to driver->flags in > > * guest byte order. */ > > u16 event_flags_shadow; > > + > > + /* ID allocation. */ > > + struct idr buffer_id; > > I'm not sure idr is fit for the performance critical case here. Need to > measure its performance impact, especially if we have few unused slots. I'm also not sure.. But fortunately, it should be quite easy to replace it with something else without changing other code. If it...
2018 May 16
0
[RFC v4 3/5] virtio_ring: add packed ring support
...@ struct vring_virtqueue { > > > > /* Last written value to driver->flags in > > > > * guest byte order. */ > > > > u16 event_flags_shadow; > > > > + > > > > + /* ID allocation. */ > > > > + struct idr buffer_id; > > > I'm not sure idr is fit for the performance critical case here. Need to > > > measure its performance impact, especially if we have few unused slots. > > I'm also not sure.. But fortunately, it should be quite easy > > to replace it with something else w...
2018 May 16
2
[RFC v4 3/5] virtio_ring: add packed ring support
...vring_virtqueue { >>>>> /* Last written value to driver->flags in >>>>> * guest byte order. */ >>>>> u16 event_flags_shadow; >>>>> + >>>>> + /* ID allocation. */ >>>>> + struct idr buffer_id; >>>> I'm not sure idr is fit for the performance critical case here. Need to >>>> measure its performance impact, especially if we have few unused slots. >>> I'm also not sure.. But fortunately, it should be quite easy >>> to replace it with someth...
2018 May 16
2
[RFC v4 3/5] virtio_ring: add packed ring support
...vring_virtqueue { >>>>> /* Last written value to driver->flags in >>>>> * guest byte order. */ >>>>> u16 event_flags_shadow; >>>>> + >>>>> + /* ID allocation. */ >>>>> + struct idr buffer_id; >>>> I'm not sure idr is fit for the performance critical case here. Need to >>>> measure its performance impact, especially if we have few unused slots. >>> I'm also not sure.. But fortunately, it should be quite easy >>> to replace it with someth...