From mboxrd@z Thu Jan 1 00:00:00 1970 From: Isaku Yamahata Subject: [PATCH 19/21] postcopy: introduce -postcopy and -postcopy-flags option Date: Thu, 29 Dec 2011 10:25:58 +0900 Message-ID: <82230efa37b7e5498a8c315d646d404e7f86e68e.1325055140.git.yamahata@valinux.co.jp> References: Cc: yamahata@valinux.co.jp, t.hirofuchi@aist.go.jp, satoshi.itoh@aist.go.jp To: kvm@vger.kernel.org, qemu-devel@nongnu.org Return-path: Received: from mail.valinux.co.jp ([210.128.90.3]:47807 "EHLO mail.valinux.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753544Ab1L2B0E (ORCPT ); Wed, 28 Dec 2011 20:26:04 -0500 In-Reply-To: In-Reply-To: References: Sender: kvm-owner@vger.kernel.org List-ID: This patch prepares for postcopy livemigration. It introduces -postcopy option and its internal flag, migration_postcopy. It introduces -postcopy-flags for chaging the behavior of incoming postcopy mainly for benchmark/debug. Signed-off-by: Isaku Yamahata postcopy: introduce -postcopy-flags option Signed-off-by: Isaku Yamahata --- migration.h | 3 +++ qemu-options.hx | 22 ++++++++++++++++++++++ vl.c | 8 ++++++++ 3 files changed, 33 insertions(+), 0 deletions(-) diff --git a/migration.h b/migration.h index 2e79779..29f468c 100644 --- a/migration.h +++ b/migration.h @@ -105,4 +105,7 @@ void migrate_add_blocker(Error *reason); */ void migrate_del_blocker(Error *reason); +extern bool incoming_postcopy; +extern unsigned long incoming_postcopy_flags; + #endif diff --git a/qemu-options.hx b/qemu-options.hx index a60191f..5c5b8f3 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -2497,6 +2497,28 @@ STEXI Prepare for incoming migration, listen on @var{port}. ETEXI +DEF("postcopy", 0, QEMU_OPTION_postcopy, + "-postcopy postcopy incoming migration when -incoming is specified\n", + QEMU_ARCH_ALL) +STEXI +@item -postcopy +@findex -postcopy +start incoming migration in postcopy mode. +ETEXI + +DEF("postcopy-flags", HAS_ARG, QEMU_OPTION_postcopy_flags, + "-postcopy-flags unsigned-int(flags)\n" + " flags for postcopy incoming migration\n" + " when -incoming and -postcopy are specified.\n" + " This is for benchmark/debug purpose (default: 0)\n", + QEMU_ARCH_ALL) +STEXI +@item -postcopy-flags int +@findex -postcopy-flags +Specify flags for incoming postcopy migration when -incoming and -postcopy are +specified. This is for benchamrk/debug purpose. (default: 0) +ETEXI + DEF("nodefaults", 0, QEMU_OPTION_nodefaults, \ "-nodefaults don't create default devices\n", QEMU_ARCH_ALL) STEXI diff --git a/vl.c b/vl.c index a4c9489..5430b8c 100644 --- a/vl.c +++ b/vl.c @@ -188,6 +188,8 @@ int mem_prealloc = 0; /* force preallocation of physical target memory */ int nb_nics; NICInfo nd_table[MAX_NICS]; int autostart; +bool incoming_postcopy = false; /* When -incoming is specified, postcopy mode */ +unsigned long incoming_postcopy_flags = 0; /* flags for postcopy incoming mode */ static int rtc_utc = 1; static int rtc_date_offset = -1; /* -1 means no change */ QEMUClock *rtc_clock; @@ -2969,6 +2971,12 @@ int main(int argc, char **argv, char **envp) case QEMU_OPTION_incoming: incoming = optarg; break; + case QEMU_OPTION_postcopy: + incoming_postcopy = true; + break; + case QEMU_OPTION_postcopy_flags: + incoming_postcopy_flags = strtoul(optarg, NULL, 0); + break; case QEMU_OPTION_nodefaults: default_serial = 0; default_parallel = 0; -- 1.7.1.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33989) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rg4lB-0005UL-AD for qemu-devel@nongnu.org; Wed, 28 Dec 2011 20:26:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rg4l0-0004Jw-B5 for qemu-devel@nongnu.org; Wed, 28 Dec 2011 20:26:20 -0500 Received: from mail.valinux.co.jp ([210.128.90.3]:42975) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rg4kz-0004Hy-OU for qemu-devel@nongnu.org; Wed, 28 Dec 2011 20:26:10 -0500 From: Isaku Yamahata Date: Thu, 29 Dec 2011 10:25:58 +0900 Message-Id: <82230efa37b7e5498a8c315d646d404e7f86e68e.1325055140.git.yamahata@valinux.co.jp> In-Reply-To: References: In-Reply-To: References: Subject: [Qemu-devel] [PATCH 19/21] postcopy: introduce -postcopy and -postcopy-flags option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm@vger.kernel.org, qemu-devel@nongnu.org Cc: yamahata@valinux.co.jp, t.hirofuchi@aist.go.jp, satoshi.itoh@aist.go.jp This patch prepares for postcopy livemigration. It introduces -postcopy option and its internal flag, migration_postcopy. It introduces -postcopy-flags for chaging the behavior of incoming postcopy mainly for benchmark/debug. Signed-off-by: Isaku Yamahata postcopy: introduce -postcopy-flags option Signed-off-by: Isaku Yamahata --- migration.h | 3 +++ qemu-options.hx | 22 ++++++++++++++++++++++ vl.c | 8 ++++++++ 3 files changed, 33 insertions(+), 0 deletions(-) diff --git a/migration.h b/migration.h index 2e79779..29f468c 100644 --- a/migration.h +++ b/migration.h @@ -105,4 +105,7 @@ void migrate_add_blocker(Error *reason); */ void migrate_del_blocker(Error *reason); +extern bool incoming_postcopy; +extern unsigned long incoming_postcopy_flags; + #endif diff --git a/qemu-options.hx b/qemu-options.hx index a60191f..5c5b8f3 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -2497,6 +2497,28 @@ STEXI Prepare for incoming migration, listen on @var{port}. ETEXI +DEF("postcopy", 0, QEMU_OPTION_postcopy, + "-postcopy postcopy incoming migration when -incoming is specified\n", + QEMU_ARCH_ALL) +STEXI +@item -postcopy +@findex -postcopy +start incoming migration in postcopy mode. +ETEXI + +DEF("postcopy-flags", HAS_ARG, QEMU_OPTION_postcopy_flags, + "-postcopy-flags unsigned-int(flags)\n" + " flags for postcopy incoming migration\n" + " when -incoming and -postcopy are specified.\n" + " This is for benchmark/debug purpose (default: 0)\n", + QEMU_ARCH_ALL) +STEXI +@item -postcopy-flags int +@findex -postcopy-flags +Specify flags for incoming postcopy migration when -incoming and -postcopy are +specified. This is for benchamrk/debug purpose. (default: 0) +ETEXI + DEF("nodefaults", 0, QEMU_OPTION_nodefaults, \ "-nodefaults don't create default devices\n", QEMU_ARCH_ALL) STEXI diff --git a/vl.c b/vl.c index a4c9489..5430b8c 100644 --- a/vl.c +++ b/vl.c @@ -188,6 +188,8 @@ int mem_prealloc = 0; /* force preallocation of physical target memory */ int nb_nics; NICInfo nd_table[MAX_NICS]; int autostart; +bool incoming_postcopy = false; /* When -incoming is specified, postcopy mode */ +unsigned long incoming_postcopy_flags = 0; /* flags for postcopy incoming mode */ static int rtc_utc = 1; static int rtc_date_offset = -1; /* -1 means no change */ QEMUClock *rtc_clock; @@ -2969,6 +2971,12 @@ int main(int argc, char **argv, char **envp) case QEMU_OPTION_incoming: incoming = optarg; break; + case QEMU_OPTION_postcopy: + incoming_postcopy = true; + break; + case QEMU_OPTION_postcopy_flags: + incoming_postcopy_flags = strtoul(optarg, NULL, 0); + break; case QEMU_OPTION_nodefaults: default_serial = 0; default_parallel = 0; -- 1.7.1.1