From: Lukas Straub <lukasstraub2@web.de>
To: qemu-devel <qemu-devel@nongnu.org>
Cc: Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>,
Thomas Huth <thuth@redhat.com>,
Laurent Vivier <lvivier@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: [PATCH v2 00/13] migration/ram.c: Refactor compress code
Date: Thu, 20 Apr 2023 11:47:32 +0200 [thread overview]
Message-ID: <cover.1681983401.git.lukasstraub2@web.de> (raw)
[-- Attachment #1: Type: text/plain, Size: 1933 bytes --]
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.
Changes since v1:
- Add postcopy tests with compress enabled
- Use page_size variable in "ram-compress.c: Make target independent"
- Squash "ram.c: Remove unused include after moving out code"
with "ram.c: Move core compression code into its own file"
- Add Reviewed-by: Tags
Lukas Straub (13):
qtest/migration-test.c: Add postcopy tests with compress enabled
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-compress.c: Make target independent
migration/meson.build | 5 +-
migration/qemu-file.c | 11 +
migration/qemu-file.h | 1 +
migration/ram-compress.c | 484 ++++++++++++++++++++++++++++++++++
migration/ram-compress.h | 70 +++++
migration/ram.c | 485 +++--------------------------------
tests/qtest/migration-test.c | 83 +++---
7 files changed, 660 insertions(+), 479 deletions(-)
create mode 100644 migration/ram-compress.c
create mode 100644 migration/ram-compress.h
--
2.40.0
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next reply other threads:[~2023-04-20 9:48 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-20 9:47 Lukas Straub [this message]
2023-04-20 9:47 ` [PATCH v2 01/13] qtest/migration-test.c: Add postcopy tests with compress enabled Lukas Straub
2023-04-20 10:20 ` Juan Quintela
2023-04-20 10:37 ` Lukas Straub
2023-04-20 21:12 ` Juan Quintela
2023-04-20 9:47 ` [PATCH v2 02/13] ram.c: Let the compress threads return a CompressResult enum Lukas Straub
2023-04-20 21:13 ` Juan Quintela
2023-04-20 9:47 ` [PATCH v2 03/13] ram.c: Dont change param->block in the compress thread Lukas Straub
2023-04-20 21:13 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 04/13] ram.c: Reset result after sending queued data Lukas Straub
2023-04-28 11:59 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 05/13] ram.c: Do not call save_page_header() from compress threads Lukas Straub
2023-04-28 12:02 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 06/13] ram.c: Call update_compress_thread_counts from compress_send_queued_data Lukas Straub
2023-04-28 12:10 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 07/13] ram.c: Remove last ram.c dependency from the core compress code Lukas Straub
2023-04-28 12:14 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 08/13] ram.c: Introduce whitespace (squash with next patch) Lukas Straub
2023-04-28 16:13 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 09/13] ram.c: Move core compression code into its own file Lukas Straub
2023-04-20 9:48 ` [PATCH v2 10/13] ram.c: Remove whitespace (squash with previous patch) Lukas Straub
2023-04-28 16:15 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 11/13] ram.c: Move core decompression code into its own file Lukas Straub
2023-04-28 17:22 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 12/13] ram compress: Assert that the file buffer matches the result Lukas Straub
2023-04-28 17:24 ` Juan Quintela
2023-04-20 9:48 ` [PATCH v2 13/13] ram-compress.c: Make target independent Lukas Straub
2023-04-28 17:29 ` Juan Quintela
2023-04-20 9:59 ` [PATCH v2 14/13] migration: Initialize and cleanup decompression in migration.c Lukas Straub
2023-04-28 17:33 ` Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1681983401.git.lukasstraub2@web.de \
--to=lukasstraub2@web.de \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).