On Sun, 21 Jun 2020 10:10:03 +0800 Derek Su wrote: > This series is to reduce the guest's downtime during colo checkpoint > by migrating dirty ram pages as many as possible before colo checkpoint. > > If the iteration count reaches COLO_RAM_MIGRATE_ITERATION_MAX or > ram pending size is lower than 'x-colo-migrate-ram-threshold', > stop the ram migration and do colo checkpoint. > > Test environment: > The both primary VM and secondary VM has 1GiB ram and 10GbE NIC > for FT traffic. > One fio buffer write job runs on the guest. > The result shows the total primary VM downtime is decreased by ~40%. > > Please help to review it and suggestions are welcomed. > Thanks. Hello Derek, Sorry for the late reply. I think this is not a good idea, because it unnecessarily introduces a delay between checkpoint request and the checkpoint itself and thus impairs network bound workloads due to increased network latency. Workloads that are independent from network don't cause many checkpoints anyway, so it doesn't help there either. Hailang did have a patch to migrate ram between checkpoints, which should help all workloads, but it wasn't merged back then. I think you can pick it up again, rebase and address David's and Eric's comments: https://lore.kernel.org/qemu-devel/20200217012049.22988-3-zhang.zhanghailiang@huawei.com/T/#u Hailang, are you ok with that? Regards, Lukas Straub