On 2017年09月13日 00:23, Willem de Bruijn wrote:
On Mon, Sep 11, 2017 at 3:47 AM, Jason Wang <jasowang@xxxxxxxxxx> wrote:
On 2017年09月10日 13:06, Michael S. Tsirkin wrote:
This is an update from v2 version.
Changes:
- update event suppression mechanism
- add wrap counter: DESC_WRAP flag in addition to
DESC_DRIVER flag used for validity so device does not have to
write out all used descriptors.
Do we have benchmark result to show the advantage of DESC_DRIVER over e.g
avail/used index?
The KVM forum presentation has some numbers.
Yes. My question may be not accurate. I meant maybe we should benchmark
packed ring layout without DESC_DRIVER but something like queue
tail/head or producer/consumer (or whatever it called). Looks like most
more nic does not use a flag inside descriptor to exam the descriptor
ownership.
I'm not sure that synthetic benchmarks will provide much value, as we
understand the trade-off quite well.
The benefit of this model is improved best case performance, by having
a single cacheline read instead of two for the indirect used/avail ring model.
The drawback is worse worst case, as scanning the ring of descriptors
introduces more cacheline misses than scanning the compressed
used/avail ring.
Like I've replied, looks like the scanning is not friendly to batching
or prefetching and can cause extra overheads.
This model is easier to implement in hardware and the common case is
likely close to the best case, so I think it makes sense.
Maybe, but we probably need inputs from hardware vendor guys.
Thanks
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization