From nobody Thu Nov 13 03:15:33 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1576513865; cv=none; d=zohomail.com; s=zohoarc; b=fKR40k/Q3pZG3yzvM2UL5ZHQvyBnuKpemEVI0pJh3Ll58NQg0m6Ng97jEsDJjqlrZ7uYbrCCn2HacF8DvoyqmC8bk4F3/bnDRZpSBAcV9aR2NkuuT4ane3WBqtVzv/cc5lL4ZeFtOttAixHIMuBbk6DssfB/NJLB6q0e54AgfLQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576513865; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=dZej0VRwucx2cd/XKW6yBntfdbCcru8xsSOweG22Ze0=; b=IorCZqdNm4XjoY+LBJw/mK6yEhoV2UDkh1Ebt8cPbNon+ebYRRewxTzKeuLVOKGc5286bz2pXVE0FA6GhCnKUsmez8m5uBfYXe3sOz+GAwwCVLwq8S6FxcMuGaRzX/+480S3rEKRvrD+SgT9OWbrvuqZnY9ruQvmyUUdEzB2BX8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1576513865601808.9427832702382; Mon, 16 Dec 2019 08:31:05 -0800 (PST) Received: from localhost ([::1]:56590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igtGx-0006m1-Or for importer@patchew.org; Mon, 16 Dec 2019 11:31:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56398) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igtEu-0004fG-VL for qemu-devel@nongnu.org; Mon, 16 Dec 2019 11:28:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igtEt-0006vN-FJ for qemu-devel@nongnu.org; Mon, 16 Dec 2019 11:28:56 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:43813) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igtEt-0006tJ-89 for qemu-devel@nongnu.org; Mon, 16 Dec 2019 11:28:55 -0500 Received: by mail-wr1-x431.google.com with SMTP id d16so8035154wre.10 for ; Mon, 16 Dec 2019 08:28:55 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id q68sm19962334wme.14.2019.12.16.08.28.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Dec 2019 08:28:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=dZej0VRwucx2cd/XKW6yBntfdbCcru8xsSOweG22Ze0=; b=abncX6BJexU3RZHo5jGnf95aocDIwNmCB9MjGZaK2RXz7vg9HuBLgKxKlYc1KI4Gk0 ZAgNv1tf9yjHwb1rlZsLsNTvmgUnjyr10Cj5fl9lZ6GL7M5rxYclwEAbxor/2q5KtITT ge24YRhZ5Imu28BI6acHS8OUhF2GdN4yweDK3STsdBH5Wpf44GAspXTBcdaHN6k6Z5bV ZwFAABRxyCBP//7oh3GWOzSXhl9EzKqf2Qpdjm/Jw4m8oImU3hPqm4MzYi7HMJX/H/GC KWKUVaj5rQhNca1nsq3JW063zuMS5p9ydLXwxUX8ZGgLetkjNg+KAKHo6ftTcMJHP6qy WoOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=dZej0VRwucx2cd/XKW6yBntfdbCcru8xsSOweG22Ze0=; b=VkE6Ke4PITfSZbw0a+wM5JJT1MXCuSUICcCftYWqlALIYWjDaRUkZEe+qO12o5f6Bt vzbpEaiO5WILFLlFY869Pv1e7ZvPaWOO5uqu3RmFMW4bs+7Q5hy8ER7nB1SKc+sc9IoZ tjgxObKUYEsjAmwgf6mOAY3R0Lc+DWArGrM3CoFNS+IMhKjZ0ZXjrulQcbHxxaFPc0tC rVs243e5b95TiKM4BBqEeJWSHGN9s2RNbIoKok/jJArgo7rt4ZITS79QnLW40K9Tgg7G Dh8L2F3i+6GuSZsiF+AXy1lie+A7wxUUovCO0NeBe840uN/dvS6FLOeVL+hwYEOW/Z18 mdfA== X-Gm-Message-State: APjAAAUUkjTsytflprX9oOrwR6GwO5X3n4Fie6XYOJcpgMcnG9tqqBSj jTWoOPhFJgsYkj+thbdUYgkIF4MF X-Google-Smtp-Source: APXvYqw42XUEZtdZU08C7NL0Icu9eI5GEyEyetRBKvzsy0Xo0uwttd2aAK2Nq0NFduR9Waj1W1W24Q== X-Received: by 2002:a05:6000:1052:: with SMTP id c18mr31210745wrx.268.1576513733937; Mon, 16 Dec 2019 08:28:53 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 06/62] migration-test: Move shmem handling to common commandline Date: Mon, 16 Dec 2019 17:27:50 +0100 Message-Id: <1576513726-53700-7-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1576513726-53700-1-git-send-email-pbonzini@redhat.com> References: <1576513726-53700-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::431 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Juan Quintela Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Juan Quintela Signed-off-by: Juan Quintela Tested-by: Cornelia Huck #s390x Tested-by: Laurent Vivier --- tests/migration-test.c | 76 ++++++++++++++++++++++------------------------= ---- 1 file changed, 34 insertions(+), 42 deletions(-) diff --git a/tests/migration-test.c b/tests/migration-test.c index 18857f0..85c98f0 100644 --- a/tests/migration-test.c +++ b/tests/migration-test.c @@ -380,13 +380,6 @@ static void cleanup(const char *filename) g_free(path); } =20 -static char *get_shmem_opts(const char *mem_size, const char *shmem_path) -{ - return g_strdup_printf("-object memory-backend-file,id=3Dmem0,size=3D%= s" - ",mem-path=3D%s,share=3Don -numa node,memdev=3D= mem0", - mem_size, shmem_path); -} - static char *SocketAddress_to_str(SocketAddress *addr) { switch (addr->type) { @@ -560,8 +553,8 @@ static int test_migrate_start(QTestState **from, QTestS= tate **to, gchar *cmd_source, *cmd_target; const gchar *ignore_stderr; char *bootpath =3D NULL; - char *extra_opts =3D NULL; - char *shmem_path =3D NULL; + char *shmem_opts; + char *shmem_path; const char *arch =3D qtest_get_arch(); const char *machine_type; const char *machine_args; @@ -575,7 +568,6 @@ static int test_migrate_start(QTestState **from, QTestS= tate **to, g_test_skip("/dev/shm is not supported"); return -1; } - shmem_path =3D g_strdup_printf("/dev/shm/qemu-%d", getpid()); } =20 got_stop =3D false; @@ -587,18 +579,15 @@ static int test_migrate_start(QTestState **from, QTes= tState **to, machine_type =3D ""; machine_args =3D ""; memory_size =3D "150M"; - extra_opts =3D use_shmem ? get_shmem_opts(memory_size, shmem_path)= : NULL; cmd_src =3D g_strdup_printf(" -name source,debug-threads=3Don" " -serial file:%s/src_serial" - " -drive file=3D%s,format=3Draw %s", - tmpfs, bootpath, - extra_opts ? extra_opts : ""); + " -drive file=3D%s,format=3Draw", + tmpfs, bootpath); cmd_dst =3D g_strdup_printf(" -name target,debug-threads=3Don" " -serial file:%s/dest_serial" " -drive file=3D%s,format=3Draw" - " -incoming %s %s", - tmpfs, bootpath, uri, - extra_opts ? extra_opts : ""); + " -incoming %s", + tmpfs, bootpath, uri); start_address =3D X86_TEST_MEM_START; end_address =3D X86_TEST_MEM_END; } else if (g_str_equal(arch, "s390x")) { @@ -606,36 +595,31 @@ static int test_migrate_start(QTestState **from, QTes= tState **to, machine_type =3D ""; machine_args =3D ""; memory_size =3D "128M"; - extra_opts =3D use_shmem ? get_shmem_opts(memory_size, shmem_path)= : NULL; cmd_src =3D g_strdup_printf(" -name source,debug-threads=3Don" - " -serial file:%s/src_serial -bios %s %s= ", - tmpfs, bootpath, - extra_opts ? extra_opts : ""); + " -serial file:%s/src_serial -bios %s", + tmpfs, bootpath); cmd_dst =3D g_strdup_printf(" -name target,debug-threads=3Don" " -serial file:%s/dest_serial -bios %s" - " -incoming %s %s", - tmpfs, bootpath, uri, - extra_opts ? extra_opts : ""); + " -incoming %s", + tmpfs, bootpath, uri); start_address =3D S390_TEST_MEM_START; end_address =3D S390_TEST_MEM_END; } else if (strcmp(arch, "ppc64") =3D=3D 0) { machine_type =3D ""; machine_args =3D ",vsmt=3D8"; memory_size =3D "256M"; - extra_opts =3D use_shmem ? get_shmem_opts(memory_size, shmem_path)= : NULL; cmd_src =3D g_strdup_printf("-nodefaults" " -name source,debug-threads=3Don" " -serial file:%s/src_serial" " -prom-env 'use-nvramrc?=3Dtrue' -prom-= env " "'nvramrc=3Dhex .\" _\" begin %x %x " "do i c@ 1 + i c! 1000 +loop .\" B\" 0 " - "until' %s", tmpfs, end_address, - start_address, extra_opts ? extra_opts := ""); + "until'", tmpfs, end_address, + start_address); cmd_dst =3D g_strdup_printf(" -name target,debug-threads=3Don" " -serial file:%s/dest_serial" - " -incoming %s %s", - tmpfs, uri, - extra_opts ? extra_opts : ""); + " -incoming %s", + tmpfs, uri); =20 start_address =3D PPC_TEST_MEM_START; end_address =3D PPC_TEST_MEM_END; @@ -644,18 +628,15 @@ static int test_migrate_start(QTestState **from, QTes= tState **to, machine_type =3D "virt,"; machine_args =3D "gic-version=3Dmax"; memory_size =3D "150M"; - extra_opts =3D use_shmem ? get_shmem_opts(memory_size, shmem_path)= : NULL; cmd_src =3D g_strdup_printf("-name vmsource,debug-threads=3Don -cp= u max " "-serial file:%s/src_serial " - "-kernel %s %s", - tmpfs, bootpath, - extra_opts ? extra_opts : ""); + "-kernel %s", + tmpfs, bootpath); cmd_dst =3D g_strdup_printf("-name vmdest,debug-threads=3Don -cpu = max " "-serial file:%s/dest_serial " "-kernel %s " - "-incoming %s %s", - tmpfs, bootpath, uri, - extra_opts ? extra_opts : ""); + "-incoming %s", + tmpfs, bootpath, uri); =20 start_address =3D ARM_TEST_MEM_START; end_address =3D ARM_TEST_MEM_END; @@ -666,7 +647,6 @@ static int test_migrate_start(QTestState **from, QTestS= tate **to, } =20 g_free(bootpath); - g_free(extra_opts); =20 if (hide_stderr) { ignore_stderr =3D "2>/dev/null"; @@ -674,26 +654,38 @@ static int test_migrate_start(QTestState **from, QTes= tState **to, ignore_stderr =3D ""; } =20 + if (use_shmem) { + shmem_path =3D g_strdup_printf("/dev/shm/qemu-%d", getpid()); + shmem_opts =3D g_strdup_printf( + "-object memory-backend-file,id=3Dmem0,size=3D%s" + ",mem-path=3D%s,share=3Don -numa node,memdev=3Dmem0", + memory_size, shmem_path); + } else { + shmem_path =3D NULL; + shmem_opts =3D g_strdup(""); + } + cmd_source =3D g_strdup_printf("-machine %saccel=3Dkvm:tcg%s " "-m %s " - "%s %s %s", + "%s %s %s %s", machine_type, machine_args, memory_size, - cmd_src, opts_src, ignore_stderr); + cmd_src, shmem_opts, opts_src, ignore_std= err); g_free(cmd_src); *from =3D qtest_init(cmd_source); g_free(cmd_source); =20 cmd_target =3D g_strdup_printf("-machine %saccel=3Dkvm:tcg%s " "-m %s " - "%s %s %s", + "%s %s %s %s", machine_type, machine_args, memory_size, - cmd_dst, opts_dst, ignore_stderr); + cmd_dst, shmem_opts, opts_dst, ignore_std= err); g_free(cmd_dst); *to =3D qtest_init(cmd_target); g_free(cmd_target); =20 + g_free(shmem_opts); /* * Remove shmem file immediately to avoid memory leak in test failed c= ase. * It's valid becase QEMU has already opened this file --=20 1.8.3.1