Rusty Russell wrote:
Networking hardware generally services descriptors in a FIFO manner.
Well, ethernet guarantees order. Not sure about others tho...
OT: Does that hold for bonded interfaces too?
virtio may not (for example, it may offload copies of larger packets to
a dma engine such as I/OAT, resulting in a delay, but copy smaller
packets immediately). that means that there will be some mismatch
between virtio drivers and real hardware drivers.
I think your point is that the completion bitmap (or indeed, the current
approach) does not maintain order? Hmm, this is more convincing to me
than cache arguments, since some devices might want ordering and want
more than a single io in flight.
Well, it wasn't really; sorry for being unclear. My point was that
virtio interfaces will not match hardware exactly.
My objection is to "scan all slots, occupied or not, for completion". I
think virtio should present completed descriptors without the need for
scanning, even if it means looking a bit different from a typical
ethernet driver.
--
error compiling committee.c: too many arguments to function
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization