[PATCH 4/5] migration iaa-compress: Add IAA initialization and deinitialization

2023-10-19 Thread Yuan Liu
This patch defines the structure for IAA jobs related to data compression and decompression, as well as the initialization and deinitialization processes for IAA. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/iaa-ram-compress.c | 152

[PATCH 1/5] configure: add qpl meson option

2023-10-19 Thread Yuan Liu
for data (de)compression using IAA during the live migration process. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- meson.build | 9 - meson_options.txt | 2 ++ scripts/meson-buildoptions.sh | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff

[PATCH 3/5] ram compress: Refactor ram compression functions

2023-10-19 Thread Yuan Liu
Refactor legacy RAM compression functions to support both IAA compression and CPU compression. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/migration.c| 6 +-- migration/ram-compress.c | 81 migration/ram-compress.h | 10

[PATCH 2/5] qapi/migration: Introduce compress-with-iaa migration parameter

2023-10-19 Thread Yuan Liu
compress on. If the migration compression capability is enabled and the IAA compression parameter is set, IAA will be used instead of CPU for data (de)compression. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/migration-hmp-cmds.c | 8 migration/options.c| 20

[PATCH 5/5] migration iaa-compress: Implement IAA compression

2023-10-19 Thread Yuan Liu
Implement the functions of IAA for data compression and decompression. The implementation uses non-blocking job submission and polling to check the job completion status to reduce IAA's overhead in the live migration process. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/iaa

[PATCH 0/5] Live Migration Acceleration with IAA Compression

2023-10-19 Thread Yuan Liu
, resulting in performance gains. The implementation of the IAA (de)compression code is based on Intel Query Processing Library (QPL), an open-source software project designed for IAA high-level software programming. Best regards, Yuan Liu Yuan Liu (5): configure: add qpl meson option qapi

[PATCH v2 4/4] multifd: Introduce QPL compression accelerator

2023-11-09 Thread Yuan Liu
the Zlib compression algorithm. QPL can automatically choose software or hardware acceleration based on the platform. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/meson.build | 1 + migration/multifd-qpl.c | 326 2 files changed, 327

[PATCH v2 1/4] migration: Introduce multifd-compression-accel parameter

2023-11-09 Thread Yuan Liu
, the acceleration function can be disabled. Similarly, users can explicitly specify a specific accelerator name, such as multifd-compression-accel=qpl. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- hw/core/qdev-properties-system.c| 11 +++ include/hw/qdev-properties-system.h | 4

[PATCH v2 0/4] Live Migration Acceleration with IAA Compression

2023-11-09 Thread Yuan Liu
in the multifd compression accelerator - fixed the issue that QPL was compiled into the migration module by default Yuan Liu (4): migration: Introduce multifd-compression-accel parameter multifd: Implement multifd compression accelerator configure: add qpl option multifd: Introduce

[PATCH v2 2/4] multifd: Implement multifd compression accelerator

2023-11-09 Thread Yuan Liu
when starting multifd live migration, if the compression method is enabled, compression method can be accelerated using accelerators. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/multifd.c | 38 -- migration/multifd.h | 8 2 files

[PATCH v2 3/4] configure: add qpl option

2023-11-09 Thread Yuan Liu
during the live migration. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- meson.build | 7 +++ meson_options.txt | 2 ++ scripts/meson-buildoptions.sh | 3 +++ 3 files changed, 12 insertions(+) diff --git a/meson.build b/meson.build index 259dc5f308

[PATCH v3 1/4] migration: Introduce multifd-compression-accel parameter

2024-01-03 Thread Yuan Liu
, the acceleration function can be disabled. Similarly, users can explicitly specify a specific accelerator name, such as multifd-compression-accel=qpl. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- hw/core/qdev-properties-system.c| 11 ++ include/hw/qdev-properties-system.h | 4

[PATCH v3 2/4] multifd: Implement multifd compression accelerator

2024-01-03 Thread Yuan Liu
when starting multifd live migration, if the compression method is enabled, compression method can be accelerated using accelerators. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou Reviewed-by: Fabiano Rosas --- migration/multifd.c | 40 ++-- migration

[PATCH v3 3/4] configure: add qpl option

2024-01-03 Thread Yuan Liu
during the live migration. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- meson.build | 18 ++ meson_options.txt | 2 ++ scripts/meson-buildoptions.sh | 3 +++ 3 files changed, 23 insertions(+) diff --git a/meson.build b/meson.build index

[PATCH v3 0/4] Live Migration Acceleration with IAA Compression

2024-01-03 Thread Yuan Liu
in multifd.c file Yuan Liu (4): migration: Introduce multifd-compression-accel parameter multifd: Implement multifd compression accelerator configure: add qpl option multifd: Introduce QPL compression accelerator hw/core/qdev-properties-system.c| 11 + include/hw/qdev-properties

[PATCH v3 4/4] multifd: Introduce QPL compression accelerator

2024-01-03 Thread Yuan Liu
the Zlib compression algorithm. QPL can automatically choose software or hardware acceleration based on the platform. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/meson.build | 1 + migration/multifd-qpl.c | 323 2 files changed, 324

[PATCH v4 1/8] docs/migration: add qpl compression feature

2024-03-04 Thread Yuan Liu
add QPL compression method introduction Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- docs/devel/migration/features.rst| 1 + docs/devel/migration/qpl-compression.rst | 231 +++ 2 files changed, 232 insertions(+) create mode 100644 docs/devel/migration/qpl

[PATCH v4 3/8] configure: add --enable-qpl build option

2024-03-04 Thread Yuan Liu
algorithm and use Intel In-Memory Analytics Accelerator(IAA) hardware for compression and decompression acceleration. Please refer to the following for more information about QPL https://intel.github.io/qpl/documentation/introduction_docs/introduction.html Signed-off-by: Yuan Liu Reviewed-by: Nanhai

[PATCH v4 4/8] migration/multifd: add qpl compression method

2024-03-04 Thread Yuan Liu
method for migration. How to enable qpl compression during migration: migrate_set_parameter multifd-compression qpl The qpl only supports one compression level, there is no qpl compression level parameter added, users do not need to specify the qpl compression level. Signed-off-by: Yuan Liu

[PATCH v4 8/8] tests/migration-test: add qpl compression test

2024-03-04 Thread Yuan Liu
add qpl to compression method test for multifd migration the migration with qpl compression needs to access IAA hardware resource, please run "check-qtest" with sudo or root permission, otherwise migration test will fail Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- t

[PATCH v4 7/8] migration/multifd: fix zlib and zstd compression levels not working

2024-03-04 Thread Yuan Liu
add zlib and zstd compression levels in multifd parameter testing and application and add compression level tests Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou Reported-by: Xiaohui Li --- migration/options.c | 12 tests/qtest/migration-test.c | 16 2

[PATCH v4 2/8] migration/multifd: add get_iov_count in the multifd method

2024-03-04 Thread Yuan Liu
this data block. For no compression, each IOV is used to send a page, so the number of IOVs required is the same as the number of pages. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/multifd-zlib.c | 18 +- migration/multifd-zstd.c | 18 +- migration

[PATCH v4 6/8] migration/multifd: implement qpl compression and decompression

2024-03-04 Thread Yuan Liu
each qpl job is used to (de)compress a normal page and it can be processed independently by the IAA hardware. All qpl jobs are submitted to the hardware at once, and wait for all jobs completion. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/multifd-qpl.c | 219

[PATCH v4 5/8] migration/multifd: implement initialization of qpl compression

2024-03-04 Thread Yuan Liu
compression initialization will fail. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/multifd-qpl.c | 128 ++-- 1 file changed, 122 insertions(+), 6 deletions(-) diff --git a/migration/multifd-qpl.c b/migration/multifd-qpl.c index 6b94e732ac

[PATCH v5 7/7] tests/migration-test: add qpl compression test

2024-03-20 Thread Yuan Liu
add qpl to compression method test for multifd migration the migration with qpl compression needs to access IAA hardware resource, please run "check-qtest" with sudo or root permission, otherwise migration test will fail Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- t

[PATCH v5 5/7] migration/multifd: implement initialization of qpl compression

2024-03-20 Thread Yuan Liu
compression initialization will fail. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/multifd-qpl.c | 243 +++- 1 file changed, 242 insertions(+), 1 deletion(-) diff --git a/migration/multifd-qpl.c b/migration/multifd-qpl.c index 056a68a060

[PATCH v5 1/7] docs/migration: add qpl compression feature

2024-03-20 Thread Yuan Liu
add Intel Query Processing Library (QPL) compression method introduction Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- docs/devel/migration/features.rst| 1 + docs/devel/migration/qpl-compression.rst | 231 +++ 2 files changed, 232 insertions(+) create mode

[PATCH v5 4/7] migration/multifd: add qpl compression method

2024-03-20 Thread Yuan Liu
method for migration. How to enable qpl compression during migration: migrate_set_parameter multifd-compression qpl The qpl only supports one compression level, there is no qpl compression level parameter added, users do not need to specify the qpl compression level. Signed-off-by: Yuan Liu

[PATCH v5 3/7] configure: add --enable-qpl build option

2024-03-20 Thread Yuan Liu
algorithm and use Intel In-Memory Analytics Accelerator(IAA) hardware for compression and decompression acceleration. Please refer to the following for more information about QPL https://intel.github.io/qpl/documentation/introduction_docs/introduction.html Signed-off-by: Yuan Liu Reviewed-by: Nanhai

[PATCH v5 2/7] migration/multifd: put IOV initialization into compression method

2024-03-20 Thread Yuan Liu
Different compression methods may require different numbers of IOVs. Based on streaming compression of zlib and zstd, all pages will be compressed to a data block, so two IOVs are needed for packet header and compressed data block. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration

[PATCH v5 6/7] migration/multifd: implement qpl compression and decompression

2024-03-20 Thread Yuan Liu
each qpl job is used to (de)compress a normal page and it can be processed independently by the IAA hardware. All qpl jobs are submitted to the hardware at once, and wait for all jobs completion. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/multifd-qpl.c | 229

[PATCH 0/1] Solve zero page causing multiple page faults

2024-04-02 Thread Yuan Liu
el.org/all/CAAYibXib+TWnJpV22E=adncdBmwXJRqgRjJXK7X71J=bdfa...@mail.gmail.com/ 2. https://lore.kernel.org/all/ph7pr11mb594123f7eefebfce219af100a3...@ph7pr11mb5941.namprd11.prod.outlook.com/ Yuan Liu (1): migration/multifd: solve zero page causing multiple page faults migration/multifd-zero-

[PATCH 1/1] migration/multifd: solve zero page causing multiple page faults

2024-04-02 Thread Yuan Liu
it is unlikely that the zero page will be migrated multiple times. Signed-off-by: Yuan Liu --- migration/multifd-zero-page.c | 4 +++- migration/multifd-zlib.c | 1 + migration/multifd-zstd.c | 1 + migration/multifd.c | 1 + migration/ram.c | 4 migration/ram.h

[PATCH v6 4/7] migration/multifd: add qpl compression method

2024-05-06 Thread Yuan Liu
. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- hw/core/qdev-properties-system.c | 2 +- migration/meson.build| 1 + migration/multifd-qpl.c | 20 migration/multifd.h | 1 + qapi/migration.json | 7 ++- 5 files changed

[PATCH v6 6/7] migration/multifd: implement qpl compression and decompression

2024-05-06 Thread Yuan Liu
-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/multifd-qpl.c | 284 +++- 1 file changed, 280 insertions(+), 4 deletions(-) diff --git a/migration/multifd-qpl.c b/migration/multifd-qpl.c index 89fa51091a..9a1fddbdd0 100644 --- a/migration/multifd-qpl.c +++ b

[PATCH v6 2/7] migration/multifd: put IOV initialization into compression method

2024-05-06 Thread Yuan Liu
Different compression methods may require different numbers of IOVs. Based on streaming compression of zlib and zstd, all pages will be compressed to a data block, so two IOVs are needed for packet header and compressed data block. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration

[PATCH v6 3/7] configure: add --enable-qpl build option

2024-05-06 Thread Yuan Liu
In-Memory Analytics Accelerator(IAA) hardware for compression and decompression acceleration. For more live migration with IAA, please refer to the document docs/devel/migration/qpl-compression.rst Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- meson.build | 8

[PATCH v6 1/7] docs/migration: add qpl compression feature

2024-05-06 Thread Yuan Liu
add Intel Query Processing Library (QPL) compression method introduction Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- docs/devel/migration/features.rst| 1 + docs/devel/migration/qpl-compression.rst | 262 +++ 2 files changed, 263 insertions(+) create mode

[PATCH v6 7/7] tests/migration-test: add qpl compression test

2024-05-06 Thread Yuan Liu
-by: Yuan Liu Reviewed-by: Nanhai Zou --- tests/qtest/migration-test.c | 24 1 file changed, 24 insertions(+) diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c index 5d6d8cd634..0f75ed7c49 100644 --- a/tests/qtest/migration-test.c +++ b/tests/qtest

[PATCH v6 5/7] migration/multifd: implement initialization of qpl compression

2024-05-06 Thread Yuan Liu
is not available, the qpl compression will fallback to the software path. Signed-off-by: Yuan Liu Reviewed-by: Nanhai Zou --- migration/multifd-qpl.c | 272 +++- 1 file changed, 271 insertions(+), 1 deletion(-) diff --git a/migration/multifd-qpl.c b/migration