From patchwork Fri Aug 9 07:43:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yong Huang X-Patchwork-Id: 13758495 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A4113C3DA4A for ; Fri, 9 Aug 2024 07:47:01 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1scKK9-0002jI-8A; Fri, 09 Aug 2024 03:46:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1scKK7-0002hj-Tp for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:07 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1scKK6-0002w6-7l for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:07 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-70eae5896bcso1629879b3a.2 for ; Fri, 09 Aug 2024 00:44:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smartx-com.20230601.gappssmtp.com; s=20230601; t=1723189445; x=1723794245; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SlUMRFbIZO8Gfc3E5mF3qJaWebgi/RdemF9uE7TuxV0=; b=WZXxWtAzeqpisRfuQoHV4hwv5GIsUPQlCdExMGJY5TvOZKXyjJpER0Q+/cHIkOJSh0 kjXQUI9vUUW4NbAREoV4M8rOvZedCkqbd5jyAfKfxN6rTR+puDJmRumbp3LKYdsi5GAF 7k+dN5+9nD0dW/juWknKXjw/XjMoo8J+2c7R+aiB3pkQSmOwuTsNTpmLcty+SmN0cmHV vSu+GYZB2Ny/mCZXtkZ+CFpC1hdeNKkPFrtZExwkQg2YH++bpsbOZuGMoqJxjlY0Ui9w E+3noZGXqOQcfaUHgprT3plf46x0HkIWUrgc6dzlDaKaHLafXYdgwJWMm7aibFSiOA0L 2psg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723189445; x=1723794245; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SlUMRFbIZO8Gfc3E5mF3qJaWebgi/RdemF9uE7TuxV0=; b=D0i6Juzoq0FlTsq3cZ9e0X8sCRFLBpsUOk5yjEl/reTH9e69KXyb9oLKw1LZTsyHgb mETYHWf6MF9Sc21snwOMIOJ5YjKbY9SLbP7j+VvfswkG1ByMv6d1bnTZ7BcaZtOqCbJk rgUu+jtSa9XEjZTAdFUZfr20dfYl+WXSbFyMMia8o1U6xxQVzKIcQgDV5DrCw7EKqqwY qZqfx2xGuZPYlNhgyo711ovExOOaPUmfH6Mg0qOPNSwHrXNdiJNv2et+SF/rY91qGOQO tDZY77zSpv7dKx7ltbN08igYliqpl1FcAuK5XYadN/W6L5PhF+IVrAouU3qH1HZufOGJ 9rdA== X-Gm-Message-State: AOJu0Yxy6DmOGfh4fVzy5X/Ucmf552di677aaRr7uVfUi5uvio/hak+3 6giRru+ZNOrRsPg5zZYubOXdXuFfhipUwTKRtMNphXHT9JF23LZWwPJ7nP0cXMksumOvqqRxpMC vvMFOJQ== X-Google-Smtp-Source: AGHT+IF5iobtFcYdnhTu/Lt/GRAoBZbjdDXVsWBKry9PHxVGt1lgaqOC0ClvdyxysJSXpUjnQbvqkQ== X-Received: by 2002:a05:6a00:1482:b0:70b:152:331 with SMTP id d2e1a72fcca58-710dc79c6e5mr700352b3a.21.1723189444297; Fri, 09 Aug 2024 00:44:04 -0700 (PDT) Received: from Hyman-Dev-Euler.zelin.local ([85.208.104.155]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-710cb22a455sm2123212b3a.71.2024.08.09.00.44.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Aug 2024 00:44:04 -0700 (PDT) From: yong.huang@smartx.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , yong.huang@smartx.com Subject: [PATCH v1 1/5] tests/migration: Move the guestperf tool to scripts directory Date: Fri, 9 Aug 2024 15:43:32 +0800 Message-Id: <38f6c0a2385f75f437d2b8b7b5fa82adacc2879c.1723189080.git.yong.huang@smartx.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 Received-SPF: none client-ip=2607:f8b0:4864:20::435; envelope-from=yong.huang@smartx.com; helo=mail-pf1-x435.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Hyman Huang Guestperf was designed to test the performance of migration, with a loose connection to the fundamental test cases of QEMU. To improve the repository's structure, move it to the scripts directory. Signed-off-by: Hyman Huang --- MAINTAINERS | 5 +++++ {tests => scripts}/migration/guestperf-batch.py | 0 {tests => scripts}/migration/guestperf-plot.py | 0 {tests => scripts}/migration/guestperf.py | 0 {tests => scripts}/migration/guestperf/__init__.py | 0 {tests => scripts}/migration/guestperf/comparison.py | 0 {tests => scripts}/migration/guestperf/engine.py | 0 {tests => scripts}/migration/guestperf/hardware.py | 0 {tests => scripts}/migration/guestperf/plot.py | 0 {tests => scripts}/migration/guestperf/progress.py | 0 {tests => scripts}/migration/guestperf/report.py | 0 {tests => scripts}/migration/guestperf/scenario.py | 0 {tests => scripts}/migration/guestperf/shell.py | 0 {tests => scripts}/migration/guestperf/timings.py | 0 14 files changed, 5 insertions(+) rename {tests => scripts}/migration/guestperf-batch.py (100%) rename {tests => scripts}/migration/guestperf-plot.py (100%) rename {tests => scripts}/migration/guestperf.py (100%) rename {tests => scripts}/migration/guestperf/__init__.py (100%) rename {tests => scripts}/migration/guestperf/comparison.py (100%) rename {tests => scripts}/migration/guestperf/engine.py (100%) rename {tests => scripts}/migration/guestperf/hardware.py (100%) rename {tests => scripts}/migration/guestperf/plot.py (100%) rename {tests => scripts}/migration/guestperf/progress.py (100%) rename {tests => scripts}/migration/guestperf/report.py (100%) rename {tests => scripts}/migration/guestperf/scenario.py (100%) rename {tests => scripts}/migration/guestperf/shell.py (100%) rename {tests => scripts}/migration/guestperf/timings.py (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 10af212632..dae1535dae 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3449,6 +3449,11 @@ F: migration/dirtyrate.h F: include/sysemu/dirtyrate.h F: docs/devel/migration/dirty-limit.rst +Migration performance test tool +M: Hyman Huang +S: Maintained +F: scripts/migration/ + Detached LUKS header M: Hyman Huang S: Maintained diff --git a/tests/migration/guestperf-batch.py b/scripts/migration/guestperf-batch.py similarity index 100% rename from tests/migration/guestperf-batch.py rename to scripts/migration/guestperf-batch.py diff --git a/tests/migration/guestperf-plot.py b/scripts/migration/guestperf-plot.py similarity index 100% rename from tests/migration/guestperf-plot.py rename to scripts/migration/guestperf-plot.py diff --git a/tests/migration/guestperf.py b/scripts/migration/guestperf.py similarity index 100% rename from tests/migration/guestperf.py rename to scripts/migration/guestperf.py diff --git a/tests/migration/guestperf/__init__.py b/scripts/migration/guestperf/__init__.py similarity index 100% rename from tests/migration/guestperf/__init__.py rename to scripts/migration/guestperf/__init__.py diff --git a/tests/migration/guestperf/comparison.py b/scripts/migration/guestperf/comparison.py similarity index 100% rename from tests/migration/guestperf/comparison.py rename to scripts/migration/guestperf/comparison.py diff --git a/tests/migration/guestperf/engine.py b/scripts/migration/guestperf/engine.py similarity index 100% rename from tests/migration/guestperf/engine.py rename to scripts/migration/guestperf/engine.py diff --git a/tests/migration/guestperf/hardware.py b/scripts/migration/guestperf/hardware.py similarity index 100% rename from tests/migration/guestperf/hardware.py rename to scripts/migration/guestperf/hardware.py diff --git a/tests/migration/guestperf/plot.py b/scripts/migration/guestperf/plot.py similarity index 100% rename from tests/migration/guestperf/plot.py rename to scripts/migration/guestperf/plot.py diff --git a/tests/migration/guestperf/progress.py b/scripts/migration/guestperf/progress.py similarity index 100% rename from tests/migration/guestperf/progress.py rename to scripts/migration/guestperf/progress.py diff --git a/tests/migration/guestperf/report.py b/scripts/migration/guestperf/report.py similarity index 100% rename from tests/migration/guestperf/report.py rename to scripts/migration/guestperf/report.py diff --git a/tests/migration/guestperf/scenario.py b/scripts/migration/guestperf/scenario.py similarity index 100% rename from tests/migration/guestperf/scenario.py rename to scripts/migration/guestperf/scenario.py diff --git a/tests/migration/guestperf/shell.py b/scripts/migration/guestperf/shell.py similarity index 100% rename from tests/migration/guestperf/shell.py rename to scripts/migration/guestperf/shell.py diff --git a/tests/migration/guestperf/timings.py b/scripts/migration/guestperf/timings.py similarity index 100% rename from tests/migration/guestperf/timings.py rename to scripts/migration/guestperf/timings.py From patchwork Fri Aug 9 07:43:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yong Huang X-Patchwork-Id: 13758494 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 71F62C3DA4A for ; Fri, 9 Aug 2024 07:46:59 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1scKKA-0002p2-OI; Fri, 09 Aug 2024 03:46:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1scKK9-0002lp-Uq for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:09 -0400 Received: from mail-oa1-x32.google.com ([2001:4860:4864:20::32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1scKK8-0002wB-HN for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:09 -0400 Received: by mail-oa1-x32.google.com with SMTP id 586e51a60fabf-264545214efso997699fac.3 for ; Fri, 09 Aug 2024 00:44:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smartx-com.20230601.gappssmtp.com; s=20230601; t=1723189447; x=1723794247; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KyU/F2e8eEPOOSdfSzXeHUo4Ool3slJ1380DRhWnPrw=; b=10RLiEC1XUz+KOvsWvNx+O2j2b+C3LvdSKVFACsDyBJnufuKb+5q/XkjzSE2dUV8Mf KPku25oxtR/vfvI0z0inDlA2TjCdgJXS+eQG8uD8tDJkIBgSIbDK/Z3Cr0xlmbUW+IGH VKwL72W6k5//pc3MAlSUB02T93WomMG1+AUfT7Tjb/gYqvVDoqtssJ2XKaHhZcRyk0JK yFlmSAdbwYu14t7KKY9X6c3rmjmxWazcgkV9djAgNYyJd8csypeI/Q0ed3LCvD8LEPoa JyM42LZ/f0sTRXVue4rqZFdIWYN3qEl1cCUWvr9m5FnHNNov9y1jCK/juZl8dkorDsqu ivhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723189447; x=1723794247; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KyU/F2e8eEPOOSdfSzXeHUo4Ool3slJ1380DRhWnPrw=; b=csI1JBlVMci0TLfoiDXeHk1MDcv/RXeuHM2r4CY7MZONywHBFU+fl9a6OqheS0plTS YVBsxKZMPj6vJMQDIzKYtCCN5GDoosdRxC5nH0ILgPkrflHCUztSBfpk1X44Eqde7LxQ i8zqWsvimgUBrJQ+vMxpJ4Q6kHYO5iFGSfCp/hH+Y4KBLKLYRqXpScefX6ywl5OGrkGR PgFIrJ9u+8pd2LYFRKnBqYjXIOuuipZMRQPEPyTT77n6mE38y8BePpZCQvw+b3JCa/GH CxMTE0IWtycQdG9MHX2MiFXYRHuwAxUSc14umCRxmlGR+J9hdIm1oFKStGQRLxXi3Rbb 1s/w== X-Gm-Message-State: AOJu0YwsGJi8l13HRi8iJoNpS0rU4qdyzU5AjndvfC0TkLZjqfV3UTV6 dl1S2c6Y3m+W4BFwewCtqFrf51cLA1bC9uhRxnvg/OF6zvPUxvUj9JF/3ILXY66hj6k/801wT41 TDP2lFg== X-Google-Smtp-Source: AGHT+IHynN9S4Pu2K0OsJGGhlniAhkGW4LEVP08OhipoF3W384q60mqxfNZCF7/5qJ6W2g69s9gyAQ== X-Received: by 2002:a05:6871:710:b0:261:16da:deca with SMTP id 586e51a60fabf-26c62cbe1b9mr962912fac.27.1723189446426; Fri, 09 Aug 2024 00:44:06 -0700 (PDT) Received: from Hyman-Dev-Euler.zelin.local ([85.208.104.155]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-710cb22a455sm2123212b3a.71.2024.08.09.00.44.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Aug 2024 00:44:06 -0700 (PDT) From: yong.huang@smartx.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , yong.huang@smartx.com Subject: [PATCH v1 2/5] tests/migration: Make initrd-stress.img built by default Date: Fri, 9 Aug 2024 15:43:33 +0800 Message-Id: <7134ee3f7632b0454ef287301bda6c4faeb1d473.1723189080.git.yong.huang@smartx.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 Received-SPF: none client-ip=2001:4860:4864:20::32; envelope-from=yong.huang@smartx.com; helo=mail-oa1-x32.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Hyman Huang The initrd-stress.img was compiled by specifying the target, to make it easier for developers to play the guestperf tool, make it built by default. Signed-off-by: Hyman Huang --- tests/migration/meson.build | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/migration/meson.build b/tests/migration/meson.build index a91aa61c65..393e401800 100644 --- a/tests/migration/meson.build +++ b/tests/migration/meson.build @@ -7,12 +7,13 @@ stress = executable( files('stress.c'), dependencies: [glib_static, sysprof], link_args: ['-static'], - build_by_default: false, + build_by_default: true, ) custom_target( 'initrd-stress.img', output: 'initrd-stress.img', input: stress, - command: [find_program('initrd-stress.sh'), '@OUTPUT@', '@INPUT@'] + command: [find_program('initrd-stress.sh'), '@OUTPUT@', '@INPUT@'], + build_by_default: true, ) From patchwork Fri Aug 9 07:43:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yong Huang X-Patchwork-Id: 13758493 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 76240C52D71 for ; Fri, 9 Aug 2024 07:46:48 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1scKKE-00034I-E5; Fri, 09 Aug 2024 03:46:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1scKKC-0002x4-LM for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:12 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1scKKB-0002wM-1T for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:12 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-7105043330aso1698169b3a.0 for ; Fri, 09 Aug 2024 00:44:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smartx-com.20230601.gappssmtp.com; s=20230601; t=1723189449; x=1723794249; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gO+KhUBLk4wxXd1Tah7t9BkUwm0u320fvMR+lJzhsXQ=; b=A+yrxqrxkhyoKZqGSLq+tUOg1MEuALIpORUgRXjoFc5nYXsScrzM+d3JdlMk/ViTuv zOz6WJ5fo6uo1UHmWtgnWdkfRzBbzsT1l7nfRZH2VAx4Oi9RVobVDg9p84DAlTXblS1p wO+R+P2zPrS8cq0LcQd0WELMeageomX1bf9hv+l32LeoErDRIhOvcQORPLO3VXdkjjaU 7JEHNImlFh2V8A8LAKrHZPSMSwfMHzXHz6JEoPW4TZ6LVSz8aaIK12I1rGe14b6y+GuK 48FCxWVJ+oWCX0djD93/Vbvr5paXHfclbL9Xq2H5ggz75pVrrbSX+ycPCxz8FZg2W/Vb HiBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723189449; x=1723794249; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gO+KhUBLk4wxXd1Tah7t9BkUwm0u320fvMR+lJzhsXQ=; b=uzXwlQbibqDnBs1EVLvG5tWRkg/Qateqn72jIjn9bzP31cB3fo7t0dZNQNj55SpvXN D9UWruwcuM0Ae9XjyF2+7dBpwY+Gp/TF8NIUj+u/QSX1TCLrL0+2PtOp5ZbPJ+xblUIV uAFYNToffCRKYC29Rx2Xv6kMKWsSrVBxgQZqiLKNcgWydg5AuFYbE9PxzFqyO8DLqvKg eWJxVNXgFx7Hz3IImFVRKxQKS8Y9vUH51plEOh4Ngc7up2KEeYrYEsl5c7iVGDr7eRg9 qTII16qUS3ZUs3/qsVqP/puZdsLsbJXXKQQwRWCdhy6T+sGXLxUxtnP0wdHgUrmPdjYb gMEg== X-Gm-Message-State: AOJu0YzZFXUst3HxoPT/iaCC0fm7UymgTcdR7HtBATi9k8UKRjfag+2x pIb7BugrinrvssMTiC4wo0I4Mq53INnFr2q1UYC9lhOhYDd7eVMIqNtgGlugu9i2F+Td64KadAO IY74+vg== X-Google-Smtp-Source: AGHT+IE/fKsn1nD93Liffef6KqbCCq5WRgvGrJ3sDVey11mYINioOPA5OLCdQBoCfTMDCk32xH29yw== X-Received: by 2002:a05:6a21:4610:b0:1c3:ff33:24b9 with SMTP id adf61e73a8af0-1c89fe6ab90mr1067098637.3.1723189448593; Fri, 09 Aug 2024 00:44:08 -0700 (PDT) Received: from Hyman-Dev-Euler.zelin.local ([85.208.104.155]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-710cb22a455sm2123212b3a.71.2024.08.09.00.44.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Aug 2024 00:44:08 -0700 (PDT) From: yong.huang@smartx.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , yong.huang@smartx.com Subject: [PATCH v1 3/5] guestperf: Support deferred migration for multifd Date: Fri, 9 Aug 2024 15:43:34 +0800 Message-Id: <5de50254b726a51c456f9a3a1f1947f28f28646c.1723189080.git.yong.huang@smartx.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 Received-SPF: none client-ip=2607:f8b0:4864:20::432; envelope-from=yong.huang@smartx.com; helo=mail-pf1-x432.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Hyman Huang The way to enable multifd migration has been changed by commit, 82137e6c8c (migration: enforce multifd and postcopy preempt to be set before incoming), and guestperf has not made the necessary changes. If multifd migration had been enabled in the previous manner, the following error would have occurred: Multifd must be set before incoming starts Supporting deferred migration will fix it. Signed-off-by: Hyman Huang --- scripts/migration/guestperf/engine.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/scripts/migration/guestperf/engine.py b/scripts/migration/guestperf/engine.py index 608d7270f6..4cddd05a9d 100644 --- a/scripts/migration/guestperf/engine.py +++ b/scripts/migration/guestperf/engine.py @@ -106,7 +106,8 @@ def _migrate_progress(self, vm): info.get("dirty-limit-ring-full-time", 0), ) - def _migrate(self, hardware, scenario, src, dst, connect_uri): + def _migrate(self, hardware, scenario, src, + dst, connect_uri, defer_migrate): src_qemu_time = [] src_vcpu_time = [] src_pid = src.get_pid() @@ -220,6 +221,8 @@ def _migrate(self, hardware, scenario, src, dst, connect_uri): resp = src.cmd("migrate-set-parameters", vcpu_dirty_limit=scenario._vcpu_dirty_limit) + if defer_migrate: + resp = dst.cmd("migrate-incoming", uri=connect_uri) resp = src.cmd("migrate", uri=connect_uri) post_copy = False @@ -373,11 +376,14 @@ def _get_common_args(self, hardware, tunnelled=False): def _get_src_args(self, hardware): return self._get_common_args(hardware) - def _get_dst_args(self, hardware, uri): + def _get_dst_args(self, hardware, uri, defer_migrate): tunnelled = False if self._dst_host != "localhost": tunnelled = True argv = self._get_common_args(hardware, tunnelled) + + if defer_migrate: + return argv + ["-incoming", "defer"] return argv + ["-incoming", uri] @staticmethod @@ -439,6 +445,9 @@ def run(self, hardware, scenario, result_dir=os.getcwd()): except: pass + if scenario._multifd: + defer_migrate = True + if self._dst_host != "localhost": dstmonaddr = ("localhost", 9001) else: @@ -452,7 +461,7 @@ def run(self, hardware, scenario, result_dir=os.getcwd()): monitor_address=srcmonaddr) dst = QEMUMachine(self._binary, - args=self._get_dst_args(hardware, uri), + args=self._get_dst_args(hardware, uri, defer_migrate), wrapper=self._get_dst_wrapper(hardware), name="qemu-dst-%d" % os.getpid(), monitor_address=dstmonaddr) @@ -461,7 +470,8 @@ def run(self, hardware, scenario, result_dir=os.getcwd()): src.launch() dst.launch() - ret = self._migrate(hardware, scenario, src, dst, uri) + ret = self._migrate(hardware, scenario, src, + dst, uri, defer_migrate) progress_history = ret[0] qemu_timings = ret[1] vcpu_timings = ret[2] From patchwork Fri Aug 9 07:43:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yong Huang X-Patchwork-Id: 13758496 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 06ED0C52D71 for ; Fri, 9 Aug 2024 07:47:05 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1scKKE-00036Y-W3; Fri, 09 Aug 2024 03:46:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1scKKD-00032K-Uh for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:13 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1scKKC-0002wQ-Is for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:13 -0400 Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-70d162eef54so1446991b3a.3 for ; Fri, 09 Aug 2024 00:44:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smartx-com.20230601.gappssmtp.com; s=20230601; t=1723189451; x=1723794251; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=f9X5MTGvFI2Zv7GRoLtPnCYsPW7vOtW3PDqqslamyEM=; b=qVqSOtveCFyFC8Ol+qWsWAS2DNHcX9xTUF9uzWli685Lo8H616dVJIBt9R2b7+Jy7W JhRdffHnLARX2c/QM8c3vUfpbwbFDYRTKaMO1C1P15LJTaY8BENWw8loRgIn8pm7c2iQ TG8TO0hg0LEQt9FIOSEU1E5WCPGrFS2gp6oakoT5lKajNpRDBGaEq4D9zygU4RfykAto 28PBIGvX2aDKia30pyiuWPqu8gxYjWG4YbGR8SJ8Iwu0nut063OjuFbmRSgfbpxcMoPE M5zZZFlDqKoF3M43+Q9lm2gUqZbIaVFf42AjxkQVJZ0EUZ3xVImBOruETTxFePhRivNe m8CA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723189451; x=1723794251; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=f9X5MTGvFI2Zv7GRoLtPnCYsPW7vOtW3PDqqslamyEM=; b=APnWMkKSmhpXGsw8JQS2slSD0wnoqEqCyHPdRQASjX1s41uaFy7hzLXrf/QgM+hm0c SurzRMG4Fk9yOQg50Xit5LFFDqMpPGDgyc82ppzFBME/muhI/l+fqI+Tf6t5/zeAstIV qJ/nGwsRyoFTVGQNWP5k0tJEFdMuxlxSLoPsOiWz1jZnvwH8u/73G2GGMv43NoW3o2Qk pF0X19VUTyOLhk1o2hdQkoF/+ZZIJoGX2TtslKikE1cUG4OeEXs4XJCewWkGukeQ8WQ6 6ytKW/TeWWeXoofbTaRHFYiohvu7I+dGX17bAwXoqkV+Lj/qSFKHiKPGPY7CTrgrpCPx LO4A== X-Gm-Message-State: AOJu0YyWBeZ5YSoLZ5OuOZD8VFF+F8iuir7ZytlRl3gF/DFwi/kM5oOG KXQU8SR2p/NBZkxlkEh3Z1tM18w+GIS5tOBVWRrSYzh4zOzIsVokawk2R1Wvw1mLvZ++o65Brv2 ZypEvug== X-Google-Smtp-Source: AGHT+IGGZEEVCqneji2kEnmI4knzCAXiPC4xOKXyPuVyGc+6VopQw4BFIwZAEPR+btBoRHfG55mmlQ== X-Received: by 2002:a05:6a20:d524:b0:1c0:ec87:d737 with SMTP id adf61e73a8af0-1c89ff275b7mr947973637.23.1723189450671; Fri, 09 Aug 2024 00:44:10 -0700 (PDT) Received: from Hyman-Dev-Euler.zelin.local ([85.208.104.155]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-710cb22a455sm2123212b3a.71.2024.08.09.00.44.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Aug 2024 00:44:10 -0700 (PDT) From: yong.huang@smartx.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , yong.huang@smartx.com Subject: [PATCH v1 4/5] guestperf: Nitpick the inconsistent parameters Date: Fri, 9 Aug 2024 15:43:35 +0800 Message-Id: <3db459b8f473db0a854127e4951607b65c744622.1723189080.git.yong.huang@smartx.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 Received-SPF: none client-ip=2607:f8b0:4864:20::430; envelope-from=yong.huang@smartx.com; helo=mail-pf1-x430.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Hyman Huang Signed-off-by: Hyman Huang Reviewed-by: Fabiano Rosas --- scripts/migration/guestperf/comparison.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/migration/guestperf/comparison.py b/scripts/migration/guestperf/comparison.py index 42cc0372d1..40e9d2eb1d 100644 --- a/scripts/migration/guestperf/comparison.py +++ b/scripts/migration/guestperf/comparison.py @@ -127,7 +127,7 @@ def __init__(self, name, scenarios): # varying numbers of channels Comparison("compr-multifd", scenarios = [ Scenario("compr-multifd-channels-4", - multifd=True, multifd_channels=2), + multifd=True, multifd_channels=4), Scenario("compr-multifd-channels-8", multifd=True, multifd_channels=8), Scenario("compr-multifd-channels-32", From patchwork Fri Aug 9 07:43:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yong Huang X-Patchwork-Id: 13758497 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F10BBC52D7F for ; Fri, 9 Aug 2024 07:47:06 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1scKKI-0003Jo-AF; Fri, 09 Aug 2024 03:46:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1scKKG-0003Di-P2 for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:16 -0400 Received: from mail-oa1-x2a.google.com ([2001:4860:4864:20::2a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1scKKE-0002wV-Vp for qemu-devel@nongnu.org; Fri, 09 Aug 2024 03:46:16 -0400 Received: by mail-oa1-x2a.google.com with SMTP id 586e51a60fabf-2681941eae0so1138760fac.0 for ; Fri, 09 Aug 2024 00:44:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smartx-com.20230601.gappssmtp.com; s=20230601; t=1723189453; x=1723794253; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PlG0m1x7ya8hrxKmBgQuKNFRBggj2AEemAM32YMHYUM=; b=lQmcftGEUK1JmJFH8GpEmmZPOPQxwzQ9Iap2/SoY2AufD93WygfkZERa7WCG0Vc8S3 Df2bJrDkjOSlcqkJ+lpvJPgy0AbaJ0UfQmthP+gpzkFwnwQwOaeIsBx+s7OLCUmoNVT3 KedH3X54pUERRZvets9tlX34vUV6BjkgfRa5jNGKZaQK3FA+OrlXk277qE+vyP36Yw1u khkiplZPaxsn2G3OdAFCgv4LSSvIBsYUYtv6WlxE//9NOp4rv1CWhc54Dob0CSznOrTa V2eYFFBCWO08QSUqMH6w79V5VkKjxBS5CBsrQyu32S/NgXpuN9Fvj5AwD4Knm/LSqLis bKGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723189453; x=1723794253; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PlG0m1x7ya8hrxKmBgQuKNFRBggj2AEemAM32YMHYUM=; b=DnIsXMuabNJYAZDtFVFQZn8NIYV+8cFu9DrNZ0PY1V9OCckIrOokHjBdqamyC82+m5 bUs7/ii1JxOvX6kCAUg8pMC8xbbdpmUKbXQpgiEbNdRcmP6GHMoxMlXk4n6KbfgWdmd6 Ca5r/1BJtnwud6jEnRv4//WnG5MLZrRC6t6U5A5AtF7Z0CwyEYOlFm9XnqCHslhyMWNT zKDZeirIiK2Dzm2bQMW1a0To6jzQTYjWG+EvTLGWjnC1paVtSggolFsli5SQcGsWsfXP eRyRb2lm5cP1FbyzGkR4DHpTjqIat8et/07MS+r/zxRZhMp//v6Uyz1bFgEnJf933yZK ESwA== X-Gm-Message-State: AOJu0Yw02O7maEPvKLisIn88ThBlUKz4P1S3VbuFtHJrZZwGb1ppAdxk I9Kfu4fN2cup7habaBP21tU2G2iIV1xs5oYlqUTQHQ1hDp0GeBXZZ0Z8Fr1rcyf8uLw/XwSAG5a vcopLaw== X-Google-Smtp-Source: AGHT+IEAEzO8Vtnui71+5ahQDWUecs1pXgNrC+I2Vj8V6JpxtABLc3kj/7Tek/lnIFuPzp4AoX7h4g== X-Received: by 2002:a05:6870:ec88:b0:260:f75c:c28b with SMTP id 586e51a60fabf-26c62c14084mr848584fac.8.1723189452846; Fri, 09 Aug 2024 00:44:12 -0700 (PDT) Received: from Hyman-Dev-Euler.zelin.local ([85.208.104.155]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-710cb22a455sm2123212b3a.71.2024.08.09.00.44.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Aug 2024 00:44:12 -0700 (PDT) From: yong.huang@smartx.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , yong.huang@smartx.com Subject: [PATCH v1 5/5] guestperf: Introduce multifd compression option Date: Fri, 9 Aug 2024 15:43:36 +0800 Message-Id: <9b17f5772ec14db0a43e03112130e588433ae68d.1723189080.git.yong.huang@smartx.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 Received-SPF: none client-ip=2001:4860:4864:20::2a; envelope-from=yong.huang@smartx.com; helo=mail-oa1-x2a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Hyman Huang Guestperf tool does not cover the multifd compression option currently, it is worth supporting so that developers can analysis the migration performance with different compression algorithms. Multifd support 4 compression algorithms currently: zlib, zstd, qpl, uadk To request that multifd with the specified compression algorithm such as zlib: $ ./scripts/migration/guestperf.py \ --multifd --multifd-channels 4 --multifd-compression zlib \ --output output.json To run the entire standardized set of multifd compression comparisons, with unix migration: $ ./scripts/migration/guestperf-batch.py \ --dst-host localhost --transport unix \ --filter compr-multifd-compression* --output outputdir Signed-off-by: Hyman Huang --- scripts/migration/guestperf/comparison.py | 13 +++++++++++++ scripts/migration/guestperf/engine.py | 14 ++++++++++++++ scripts/migration/guestperf/scenario.py | 7 +++++-- scripts/migration/guestperf/shell.py | 3 +++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/scripts/migration/guestperf/comparison.py b/scripts/migration/guestperf/comparison.py index 40e9d2eb1d..e209a68ce5 100644 --- a/scripts/migration/guestperf/comparison.py +++ b/scripts/migration/guestperf/comparison.py @@ -158,4 +158,17 @@ def __init__(self, name, scenarios): Scenario("compr-dirty-limit-50MB", dirty_limit=True, vcpu_dirty_limit=50), ]), + + # Looking at effect of multifd with + # different compression algorithms + Comparison("compr-multifd-compression", scenarios = [ + Scenario("compr-multifd-compression-zlib", + multifd=True, multifd_channels=4, multifd_compression="zlib"), + Scenario("compr-multifd-compression-zstd", + multifd=True, multifd_channels=4, multifd_compression="zstd"), + Scenario("compr-multifd-compression-qpl", + multifd=True, multifd_channels=4, multifd_compression="qpl"), + Scenario("compr-multifd-compression-uadk", + multifd=True, multifd_channels=4, multifd_compression="uadk"), + ]), ] diff --git a/scripts/migration/guestperf/engine.py b/scripts/migration/guestperf/engine.py index 4cddd05a9d..59e77edb72 100644 --- a/scripts/migration/guestperf/engine.py +++ b/scripts/migration/guestperf/engine.py @@ -31,6 +31,8 @@ '..', '..', '..', 'python')) from qemu.machine import QEMUMachine +# multifd supported compression algorithms +MULTIFD_CMP_ALGS = ("zlib", "zstd", "qpl", "uadk") class Engine(object): @@ -191,6 +193,12 @@ def _migrate(self, hardware, scenario, src, scenario._compression_xbzrle_cache)) if scenario._multifd: + if (scenario._multifd_compression and + (scenario._multifd_compression not in MULTIFD_CMP_ALGS)): + raise Exception("unsupported multifd compression " + "algorithm: %s" % + scenario._multifd_compression) + resp = src.cmd("migrate-set-capabilities", capabilities = [ { "capability": "multifd", @@ -206,6 +214,12 @@ def _migrate(self, hardware, scenario, src, resp = dst.cmd("migrate-set-parameters", multifd_channels=scenario._multifd_channels) + if scenario._multifd_compression: + resp = src.cmd("migrate-set-parameters", + multifd_compression=scenario._multifd_compression) + resp = dst.cmd("migrate-set-parameters", + multifd_compression=scenario._multifd_compression) + if scenario._dirty_limit: if not hardware._dirty_ring_size: raise Exception("dirty ring size must be configured when " diff --git a/scripts/migration/guestperf/scenario.py b/scripts/migration/guestperf/scenario.py index 154c4f5d5f..4be7fafebf 100644 --- a/scripts/migration/guestperf/scenario.py +++ b/scripts/migration/guestperf/scenario.py @@ -30,7 +30,7 @@ def __init__(self, name, auto_converge=False, auto_converge_step=10, compression_mt=False, compression_mt_threads=1, compression_xbzrle=False, compression_xbzrle_cache=10, - multifd=False, multifd_channels=2, + multifd=False, multifd_channels=2, multifd_compression="", dirty_limit=False, x_vcpu_dirty_limit_period=500, vcpu_dirty_limit=1): @@ -61,6 +61,7 @@ def __init__(self, name, self._multifd = multifd self._multifd_channels = multifd_channels + self._multifd_compression = multifd_compression self._dirty_limit = dirty_limit self._x_vcpu_dirty_limit_period = x_vcpu_dirty_limit_period @@ -85,6 +86,7 @@ def serialize(self): "compression_xbzrle_cache": self._compression_xbzrle_cache, "multifd": self._multifd, "multifd_channels": self._multifd_channels, + "multifd_compression": self._multifd_compression, "dirty_limit": self._dirty_limit, "x_vcpu_dirty_limit_period": self._x_vcpu_dirty_limit_period, "vcpu_dirty_limit": self._vcpu_dirty_limit, @@ -109,4 +111,5 @@ def deserialize(cls, data): data["compression_xbzrle"], data["compression_xbzrle_cache"], data["multifd"], - data["multifd_channels"]) + data["multifd_channels"], + data["multifd_compression"]) diff --git a/scripts/migration/guestperf/shell.py b/scripts/migration/guestperf/shell.py index c85d89efec..1452eb8a33 100644 --- a/scripts/migration/guestperf/shell.py +++ b/scripts/migration/guestperf/shell.py @@ -130,6 +130,8 @@ def __init__(self): action="store_true") parser.add_argument("--multifd-channels", dest="multifd_channels", default=2, type=int) + parser.add_argument("--multifd-compression", dest="multifd_compression", + default="") parser.add_argument("--dirty-limit", dest="dirty_limit", default=False, action="store_true") @@ -166,6 +168,7 @@ def get_scenario(self, args): multifd=args.multifd, multifd_channels=args.multifd_channels, + multifd_compression=args.multifd_compression, dirty_limit=args.dirty_limit, x_vcpu_dirty_limit_period=\