On Wed, Dec 11, 2019 at 08:04:36AM -0500, Michael S. Tsirkin wrote: > On Wed, Dec 11, 2019 at 10:05:28AM +0100, Paolo Bonzini wrote: > > On 10/12/19 22:53, Michael S. Tsirkin wrote: > > > On Tue, Dec 10, 2019 at 11:02:11AM -0500, Peter Xu wrote: > > >> On Tue, Dec 10, 2019 at 02:31:54PM +0100, Paolo Bonzini wrote: > > >>> On 10/12/19 14:25, Michael S. Tsirkin wrote: > > >>>>> There is no new infrastructure to track the dirty pages---it's just a > > >>>>> different way to pass them to userspace. > > >>>> Did you guys consider using one of the virtio ring formats? > > >>>> Maybe reusing vhost code? > > >>> > > >>> There are no used/available entries here, it's unidirectional > > >>> (kernel->user). > > >> > > >> Agreed. Vring could be an overkill IMHO (the whole dirty_ring.c is > > >> 100+ LOC only). > > > > > > I guess you don't do polling/ event suppression and other tricks that > > > virtio came up with for speed then? > > I looked at the code finally, there's actually available, and fetched is > exactly like used. Not saying existing code is a great fit for you as > you have an extra slot parameter to pass and it's reversed as compared > to vhost, with kernel being the driver and userspace the device (even > though vringh might fit, yet needs to be updated to support packed rings > though). But sticking to an existing format is a good idea IMHO, > or if not I think it's not a bad idea to add some justification. Right, I'll add a small paragraph in the next cover letter to justify. Thanks, -- Peter Xu