Hi, Shota, On Thu, Jun 20, 2024 at 06:47:13PM +0900, Shota Imamura wrote: > This commit implements the dirty ring as an alternative dirty tracking > method to the dirty bitmap. > > While the dirty ring has already been implemented in accel/kvm using KVM's > dirty ring, it was designed to set bits in the ramlist and ramblock bitmap. > This commit introduces a new dirty ring to replace the bitmap, allowing the > use of the dirty ring even without KVM. When using KVM's dirty ring, this > implementation maximizes its effectiveness. It looks like this patch will introduce a ring but still it keeps the bitmaps around. Could you elaborate your motivation of this work? It'll be interesting to know whether you did any kind of measurement around it. > > To enable the dirty ring, specify the startup option > "-migration dirty-logging=ring,dirty-ring-size=N". To use the bitmap, > either specify nothing or "-migration dirty-logging=bitmap". If the dirty > ring becomes full, it falls back to the bitmap for that round. I remember adding such option is not suggested. We may consider using either QMP to setup a migration parameter, or something else. Thanks, -- Peter Xu