> -----Original Message-----
> From: qemu-devel-bounces+chen.zhang=intel....@nongnu.org <qemu-
> devel-bounces+chen.zhang=intel....@nongnu.org> On Behalf Of Lukas
> Straub
> Sent: Monday, April 3, 2023 1:56 AM
> To: qemu-devel <qemu-devel@nongnu.org>
> Cc: Dr. David Alan Gilbert <dgilb...@redhat.com>; Juan Quintela
> <quint...@redhat.com>; Peter Xu <pet...@redhat.com>
> Subject: [PATCH 00/14] migration/ram.c: Refactor compress code
>
> This series refactors the ram compress code.
>
> It first removes ram.c dependencies from the core compress code, then
> moves it out to its own file. Finally, on the migration destination side the
> initialisation and cleanup of compress threads is moved out of ram.c to
> migration.c. This allows using COLO with compress enabled.
>
Nice to see this optimization~
Support the ram compress feature will reduce COLO checkpoint network bandwidth
requirements
And may improve COLO protected VM's performance.
Thanks
Chen
> This series is based on the following series:
> https://lore.kernel.org/qemu-
> devel/af76761aa6978071c5b8e9b872b697db465a5520.1680457631.git.lukasstr
> a...@web.de/T/#t
>
> Lukas Straub (14):
> ram.c: Let the compress threads return a CompressResult enum
> ram.c: Dont change param->block in the compress thread
> ram.c: Reset result after sending queued data
> ram.c: Do not call save_page_header() from compress threads
> ram.c: Call update_compress_thread_counts from
> compress_send_queued_data
> ram.c: Remove last ram.c dependency from the core compress code
> ram.c: Introduce whitespace (squash with next patch)
> ram.c: Move core compression code into its own file
> ram.c: Remove whitespace (squash with previous patch)
> ram.c: Move core decompression code into its own file
> ram compress: Assert that the file buffer matches the result
> ram.c: Remove unused include after moving out code
> ram-compress.c: Make target independent
> migration: Initialize and cleanup decompression in migration.c
>
> migration/meson.build | 5 +-
> migration/migration.c | 9 +
> migration/qemu-file.c | 11 +
> migration/qemu-file.h | 1 +
> migration/ram-compress.c | 483
> ++++++++++++++++++++++++++++++++++++++
> migration/ram-compress.h | 70 ++++++
> migration/ram.c | 490 +++------------------------------------
> 7 files changed, 615 insertions(+), 454 deletions(-) create mode 100644
> migration/ram-compress.c create mode 100644 migration/ram-compress.h
>
> --
> 2.30.2