On Sun, Oct 08, 2017 at 06:16:44AM +0000, Ilya Lesokhin wrote: > > > -----Original Message----- > > > From: virtualization-bounces@xxxxxxxxxxxxxxxxxxxxxxxxxx > > > [mailto:virtualization-bounces@xxxxxxxxxxxxxxxxxxxxxxxxxx] On Behalf > > > Of Michael S. Tsirkin > > > > > > This is an update from v2 version. > >> ... > > > When driver descriptors are chained in this way, multiple descriptors > > > are treated as a part of a single transaction containing an optional > > > write buffer followed by an optional read buffer. > > > All descriptors in the chain must have the same ID. > > > > > I apologize for the repost, I didn't realize I have to be a member of the > virtio-dev mailing list. > > I'm concerned about the "same ID" requirement in chained descriptors. It's there really just so we can remove the doubt about which descriptor's ID should be used. My testing does not show a performance win from this, so I'm fine with removing this requirement though I'd be curious to know why is it a problem. > Assuming out of order execution, how is the driver supposed to re-assign > unique IDs to the previously chained descriptor? For example, driver can have a simple allocator for the IDs. > Is the driver expected to copy original IDs somewhere else before the > chaining and then restore the IDs after the chain is executed? > > Thanks, > Ilya As device overwrites the ID, driver will have to write it out each time, that's true. It's going to be a requirement even if descriptors on the chain do not need to have the same ID. -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization