From patchwork Fri May 12 11:31:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Perevalov X-Patchwork-Id: 9723961 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DCDC360348 for ; Fri, 12 May 2017 11:33:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CDF9128788 for ; Fri, 12 May 2017 11:33:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C01C4287BB; Fri, 12 May 2017 11:33:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id BF9F728788 for ; Fri, 12 May 2017 11:33:37 +0000 (UTC) Received: from localhost ([::1]:52986 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d98pE-0003Mh-Pd for patchwork-qemu-devel@patchwork.kernel.org; Fri, 12 May 2017 07:33:36 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57314) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d98oA-0003HJ-Rq for qemu-devel@nongnu.org; Fri, 12 May 2017 07:32:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d98o7-0000mD-Mr for qemu-devel@nongnu.org; Fri, 12 May 2017 07:32:30 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:49631) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d98o7-0000kM-HK for qemu-devel@nongnu.org; Fri, 12 May 2017 07:32:27 -0400 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout4.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OPU00HFY81YWY80@mailout4.w1.samsung.com> for qemu-devel@nongnu.org; Fri, 12 May 2017 12:32:22 +0100 (BST) Received: from eusmges1.samsung.com (unknown [203.254.199.239]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170512113221eucas1p18e4976818f1256d4416c51c202981930~92Iq2tA7y0877708777eucas1p1v; Fri, 12 May 2017 11:32:21 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1.samsung.com (EUCPMTA) with SMTP id 21.38.14140.84D95195; Fri, 12 May 2017 12:32:24 +0100 (BST) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170512113220eucas1p14c340af61c08de90fe20a16be9a3d180~92IqPalXa0876608766eucas1p12; Fri, 12 May 2017 11:32:20 +0000 (GMT) X-AuditID: cbfec7ef-f796a6d00000373c-c5-59159d480025 Received: from eusync2.samsung.com ( [203.254.199.212]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 09.A1.20206.46D95195; Fri, 12 May 2017 12:32:52 +0100 (BST) Received: from aperevalov-ubuntu.rnd.samsung.ru ([106.109.129.199]) by eusync2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OPU0053K81CCS30@eusync2.samsung.com>; Fri, 12 May 2017 12:32:20 +0100 (BST) From: Alexey Perevalov To: qemu-devel@nongnu.org Date: Fri, 12 May 2017 14:31:39 +0300 Message-id: <1494588703-9076-6-git-send-email-a.perevalov@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1494588703-9076-1-git-send-email-a.perevalov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKIsWRmVeSWpSXmKPExsWy7djP87oec0UjDV7f5LCYe/c8i0Xvtnvs Flfaf7JbbNn/jd3ieO8OFgdWjyfXNjN5vN93lc2jb8sqxgDmKC6blNSczLLUIn27BK6M7x37 WArahSr2TF3A0sD4ia+LkZNDQsBE4tzKB0wQtpjEhXvr2boYuTiEBJYxSjzc/xDK+cwosera YmaYjrmLV7DAVf3bsxqqqptJou3yRPYuRg4ONgEDiX33bEEaRAQkJX53nQZrZhaIlXh7/Rob SImwgJfEvRvxIGEWAVWJWYcPsoLYvAJuEutXdrFB7JKTOHlsMlicU8Bd4sOa5YwgqyQErrNJ vJnxHmyVhICsxKYDULe5SExpnsEOYQtLvDq+BcqWkbg8uZsForedUaJ7ZycrhDOBUeLM9L9Q VfYSp25eZYI4lE9i0rbpzBALeCU62oQgTA+JzQvtIaodJV58ewUNh1mMEm/nHWacwCizgJFh FaNIamlxbnpqsaFecWJucWleul5yfu4mRmBknv53/P0OxqfNIYcYBTgYlXh4JapEIoVYE8uK K3MPMUpwMCuJ8K6IF40U4k1JrKxKLcqPLyrNSS0+xCjNwaIkzst76lqEkEB6YklqdmpqQWoR TJaJg1OqgXH+hMfXsnfd7y/JWZgzf6sl74JGexsz25iOiad6eESEnpx5WKq4k2Hnm3fSCVsu bEy+Z5Bneefa+y+5LHvfeTkyHU1i2COc9uqJcpMOm9g1288GZzK6ZL43SSmuO3VVWl/1gHnV omdLlq50m5kYnh6weNacOfOq/jI8Pvr9jO9RcWmBmvYzeXlKLMUZiYZazEXFiQCWdiVxyAIA AA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrMLMWRmVeSWpSXmKPExsVy+t/xK7opc0UjDXp/mljMvXuexaJ32z12 iyvtP9kttuz/xm5xvHcHiwOrx5Nrm5k83u+7yubRt2UVYwBzlJtNRmpiSmqRQmpecn5KZl66 rVJoiJuuhZJCXmJuqq1ShK5vSJCSQlliTimQZ2SABhycA9yDlfTtEtwyvnfsYyloF6rYM3UB SwPjJ74uRk4OCQETibmLV7BA2GISF+6tZ+ti5OIQEljCKLF580Iop5dJYuelyYxdjBwcbAIG Evvu2YI0iAhISvzuOs0MYjMLxEpcmvCCDaREWMBL4t6NeJAwi4CqxKzDB1lBbF4BN4n1K7vY IHbJSZw8NhkszingLvFhzXKw6UJANXP/xU5g5F3AyLCKUSS1tDg3PbfYSK84Mbe4NC9dLzk/ dxMjMEC3Hfu5ZQdj17vgQ4wCHIxKPLwSVSKRQqyJZcWVuYcYJTiYlUR4V8SLRgrxpiRWVqUW 5ccXleakFh9iNAW6aSKzlGhyPjB68kriDU0MzS0NjYwtLMyNjJTEead+uBIuJJCeWJKanZpa kFoE08fEwSnVwMiS/66aZXKu1BJJc/H1L6b8yBXM+x1+lvPSwyfmrxNbZeqP7urlDG21Vvhe u8HhJe8Rc3G1y+miSR36sb8m9Mwvv/ri8ASegx8Xc7y/sPZcX+bP2OU7X14Xtgnm1Hh6e/q3 tV8WBcfPeO64eemt/Cefju3mnh58N3e/6fwzNYxXGh833/MrDAxXYinOSDTUYi4qTgQAQU0c /WYCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170512113220eucas1p14c340af61c08de90fe20a16be9a3d180 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?QWxleGV5IFBlcmV2YWxvdhtTUlItVmlydHVhbGl6YXRpb24g?= =?UTF-8?B?TGFiG+yCvOyEseyghOyekBtTZW5pb3IgRW5naW5lZXI=?= X-Global-Sender: =?UTF-8?B?QWxleGV5IFBlcmV2YWxvdhtTUlItVmlydHVhbGl6YXRpb24g?= =?UTF-8?B?TGFiG1NhbXN1bmcgRWxlY3Ryb25pY3MbU2VuaW9yIEVuZ2luZWVy?= X-Sender-Code: =?UTF-8?B?QzEwG0NJU0hRG0MxMEdEMDFHRDAxMDE1NA==?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170512113220eucas1p14c340af61c08de90fe20a16be9a3d180 X-RootMTR: 20170512113220eucas1p14c340af61c08de90fe20a16be9a3d180 References: <1494588703-9076-1-git-send-email-a.perevalov@samsung.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 210.118.77.14 Subject: [Qemu-devel] [PATCH V4 5/9] migration: introduce postcopy-blocktime capability X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: i.maximets@samsung.com, dgilbert@redhat.com, peterx@redhat.com, a.perevalov@samsung.com Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Right now it could be used on destination side to enable vCPU blocktime calculation for postcopy live migration. vCPU blocktime - it's time since vCPU thread was put into interruptible sleep, till memory page was copied and thread awake. Signed-off-by: Alexey Perevalov --- include/migration/migration.h | 1 + migration/migration.c | 9 +++++++++ qapi-schema.json | 5 ++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/include/migration/migration.h b/include/migration/migration.h index e29cb01..30108d3 100644 --- a/include/migration/migration.h +++ b/include/migration/migration.h @@ -316,6 +316,7 @@ int migrate_compress_level(void); int migrate_compress_threads(void); int migrate_decompress_threads(void); bool migrate_use_events(void); +bool migrate_postcopy_blocktime(void); /* Sending on the return path - generic and then for each message type */ void migrate_send_rp_message(MigrationIncomingState *mis, diff --git a/migration/migration.c b/migration/migration.c index 1cce2a1..b0af75f 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1371,6 +1371,15 @@ bool migrate_zero_blocks(void) return s->enabled_capabilities[MIGRATION_CAPABILITY_ZERO_BLOCKS]; } +bool migrate_postcopy_blocktime(void) +{ + MigrationState *s; + + s = migrate_get_current(); + + return s->enabled_capabilities[MIGRATION_CAPABILITY_POSTCOPY_BLOCKTIME]; +} + bool migrate_use_compression(void) { MigrationState *s; diff --git a/qapi-schema.json b/qapi-schema.json index 5728b7f..df9f801 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -894,11 +894,14 @@ # @release-ram: if enabled, qemu will free the migrated ram pages on the source # during postcopy-ram migration. (since 2.9) # +# @postcopy-blocktime: Calculate downtime for postcopy live migration (since 2.10) +# # Since: 1.2 ## { 'enum': 'MigrationCapability', 'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks', - 'compress', 'events', 'postcopy-ram', 'x-colo', 'release-ram'] } + 'compress', 'events', 'postcopy-ram', 'x-colo', 'release-ram', + 'postcopy-blocktime'] } ## # @MigrationCapabilityStatus: