On 2/26/26 14:59, [email protected] wrote: > From: Marc-André Lureau <[email protected]> > > Replace the source-level replay wrappers with a new > replay_by_populated_state() helper that iterates the section at > min-granularity, calls is_populated() for each chunk, and aggregates > consecutive chunks of the same state before invoking the callback. > > This moves the iteration logic from individual sources into the manager, > preparing for multi-source aggregation where the manager must combine > state from multiple sources anyway. > > The replay_populated/replay_discarded vtable entries in > RamDiscardSourceClass are no longer called but remain in the interface > for now; they will be removed in follow-up commits along with the > now-dead source implementations. > > Signed-off-by: Marc-André Lureau <[email protected]> > ---
Isn't it significantly more expensive for large guests to possibly iterate in 4k granularity? The nice thing about the old implementation was that we could just scan a bitmap, that is ideally in 2M granularity. -- Cheers, David
