On Thu, 9 Jan 2020 09:57:08 -0500 Peter Xu <peterx@xxxxxxxxxx> wrote: > Branch is here: https://github.com/xzpeter/linux/tree/kvm-dirty-ring > (based on kvm/queue) > > Please refer to either the previous cover letters, or documentation > update in patch 12 for the big picture. Previous posts: > > V1: https://lore.kernel.org/kvm/20191129213505.18472-1-peterx@xxxxxxxxxx > V2: https://lore.kernel.org/kvm/20191221014938.58831-1-peterx@xxxxxxxxxx > > The major change in V3 is that we dropped the whole waitqueue and the > global lock. With that, we have clean per-vcpu ring and no default > ring any more. The two kvmgt refactoring patches were also included > to show the dependency of the works. Hi Peter, Would you recommend this style of interface for vfio dirty page tracking as well? This mechanism seems very tuned to sparse page dirtying, how well does it handle fully dirty, or even significantly dirty regions? We also don't really have "active" dirty page tracking in vfio, we simply assume that if a page is pinned or otherwise mapped that it's dirty, so I think we'd constantly be trying to re-populate the dirty ring with pages that we've seen the user consume, which doesn't seem like a good fit versus a bitmap solution. Thanks, Alex