← Prev in month ← Prev in thread
Next in thread → Next in month →

thoughts on: virtio: skipping used buffers without IN_ORDER

From
Michael S. Tsirkin <>
Date
2019-12-11T15:33:46+00:00
ID
Thread
thoughts on: virtio: skipping used buffers without IN_ORDER
Hello!
At the moment, if a device uses multiple buffers, it has
to write out a descriptor per buffer. The only exception is
with IN_ORDER where device can skip buffers, with driver
keeping track of IDs.

IN_ORDER is however quite limited in what it can do.  It's not a good
fit for storage, and probably not for RX networking.

It's not hard to extend IN_ORDER so it doesn't apply to specific rings.
A harder question is still writing a single descriptor in this case. One
somewhat easy fix it just to allow descriptors to include multiple IDs.
E.g. address is ignored in used descriptors, we can fit 4 extra IDs in
there. For descriptors where we don't care about the length,
we can stick a couple more IDs on top of that.

I can't say it's all very elegant. Also, is that enough of a win?
We can still end up with multiple descriptors.

More thoughts?

Thanks,
-- 
MST
← Prev in month ← Prev in thread
Next in thread → Next in month →