From nobody Wed Nov 5 17:46:08 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1496828984063950.3498637571348; Wed, 7 Jun 2017 02:49:44 -0700 (PDT) Received: from localhost ([::1]:42319 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIXaw-0002Ql-F8 for importer@patchew.org; Wed, 07 Jun 2017 05:49:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58051) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIXYt-0001Ay-Va for qemu-devel@nongnu.org; Wed, 07 Jun 2017 05:47:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIXYq-0000FF-1d for qemu-devel@nongnu.org; Wed, 07 Jun 2017 05:47:36 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:15626) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dIXYp-0000EQ-RO for qemu-devel@nongnu.org; Wed, 07 Jun 2017 05:47:31 -0400 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OR600A4Y8J7G930@mailout2.w1.samsung.com> for qemu-devel@nongnu.org; Wed, 07 Jun 2017 10:47:31 +0100 (BST) Received: from eusmges5.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170607094731eucas1p283660488287e2f6c6582a1e7a67b142b~FzejRyDR_0469104691eucas1p2J; Wed, 7 Jun 2017 09:47:31 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges5.samsung.com (EUCPMTA) with SMTP id A2.6D.25577.2BBC7395; Wed, 7 Jun 2017 10:47:30 +0100 (BST) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170607094730eucas1p2126d9850427e7b4af92898b64b7b805a~Fzeiie52K0284202842eucas1p2R; Wed, 7 Jun 2017 09:47:30 +0000 (GMT) Received: from eusync1.samsung.com ( [203.254.199.211]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 20.CB.17452.2BBC7395; Wed, 7 Jun 2017 10:47:30 +0100 (BST) Received: from aperevalov-ubuntu.rnd.samsung.ru ([106.109.129.199]) by eusync1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OR600I3B8ILMHB0@eusync1.samsung.com>; Wed, 07 Jun 2017 10:47:30 +0100 (BST) X-AuditID: cbfec7f5-f792f6d0000063e9-90-5937cbb20e6a From: Alexey Perevalov To: qemu-devel@nongnu.org Date: Wed, 07 Jun 2017 12:46:35 +0300 Message-id: <1496828798-27548-9-git-send-email-a.perevalov@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1496828798-27548-1-git-send-email-a.perevalov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKIsWRmVeSWpSXmKPExsWy7djP87qbTptHGjR36FnMvXuexaJ32z12 iyvtP9kttuz/xm5xvHcHiwOrx5Nrm5k83u+7yubRt2UVYwBzFJdNSmpOZllqkb5dAlfGtb1z WQtOyFWsXfSMvYHxoUgXIweHhICJxK11Gl2MnECmmMSFe+vZuhi5OIQEljJKTG58xAjhfGaU 6Pg6jwWiykTi75/L7BCJZYwSl/9MYoJwupkklj15wAwylk3AQGLfPVuQBhEBSYnfXaeZQWxm gQKJj60rwQYJC7hJ/Fq8nAnEZhFQlVh/+jdYnFfAXeLqnQ1Qy+QkTh6bzApicwp4SPyYepsZ ZJeEwG02icl7X7NDvCArsekAM0S9i8TN38fZIGxhiVfHt7BD2DISnR0HmSB62xklund2skI4 Exglzkz/C1VlL3Hq5lUmiEv5JCZtm84MsYBXoqNNCKLEQ+LctfOsEGFHibYrfBC/z2aUeLr8 CuMERpkFjAyrGEVSS4tz01OLTfWKE3OLS/PS9ZLzczcxAiPz9L/jX3cwLj1mdYhRgINRiYdX YJdZpBBrYllxZe4hRgkOZiUR3olHzSOFeFMSK6tSi/Lji0pzUosPMUpzsCiJ83KduhYhJJCe WJKanZpakFoEk2Xi4JRqYDSs+1zqPTnAo6i+8aOPp+PGdoZeFuObXNsi+HP1NeY0e1u1fmyZ urqr462I/etz6i9YF2w8K+Vxv37WsvOLaueJPt0yz/1Ipt5qteO5uYyrJYrm66xZJfx50qMH 3ebn8x6u9VRRPrg3O//dVm7uUyu53zht3jp3oZZrB0eIeoyz1Wulxk3afUosxRmJhlrMRcWJ AF0z0JvIAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKLMWRmVeSWpSXmKPExsVy+t/xy7qbTptHGmy8yW0x9+55FovebffY La60/2S32LL/G7vF8d4dLA6sHk+ubWbyeL/vKptH35ZVjAHMUW42GamJKalFCql5yfkpmXnp tkqhIW66FkoKeYm5qbZKEbq+IUFKCmWJOaVAnpEBGnBwDnAPVtK3S3DLuLZ3LmvBCbmKtYue sTcwPhTpYuTkkBAwkfj75zI7hC0mceHeerYuRi4OIYEljBJrD71ggnB6mSR+rrnC3MXIwcEm YCCx754tSIOIgKTE767TzCA2s0CBxLnJU1hAbGEBN4lfi5czgdgsAqoS60//BovzCrhLXL2z gQVimZzEyWOTWUFsTgEPiR9Tb4PNEQKquX3nDNMERt4FjAyrGEVSS4tz03OLDfWKE3OLS/PS 9ZLzczcxAoN027Gfm3cwXtoYfIhRgINRiYdXYJdZpBBrYllxZe4hRgkOZiUR3olHzSOFeFMS K6tSi/Lji0pzUosPMZoCHTWRWUo0OR8YQXkl8YYmhuaWhkbGFhbmRkZK4rwlH66ECwmkJ5ak ZqemFqQWwfQxcXBKNTBythRa/nz1e5HiyUPlhyI9jPn3ymmnqzDMaWhWOxZ1aub7NO0ftzpC U8s8jWv3dvE9vB2j8KGrYnrnutqo42yT6v7azUhR9rOz93Hh8o04+itQcd+OqNqrpwNDHOcG pt7dM4+XZea8G5VO6xa9sDvBXdxtP/N05zGfl2fPfypgSpJ7vrI+d7USS3FGoqEWc1FxIgB1 LPJ5aAIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170607094730eucas1p2126d9850427e7b4af92898b64b7b805a X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 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: 20170607094730eucas1p2126d9850427e7b4af92898b64b7b805a X-RootMTR: 20170607094730eucas1p2126d9850427e7b4af92898b64b7b805a References: <1496828798-27548-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.12 Subject: [Qemu-devel] [PATCH v8 08/11] migration: postcopy_place_page factoring out 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, Alexey Perevalov , peterx@redhat.com, dgilbert@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Need to mark paged copied as closer as possible place where it tracks down. That will be necessary in futher patch. Signed-off-by: Alexey Perevalov Reviewed-by: Juan Quintela --- migration/postcopy-ram.c | 13 ++++++++----- migration/postcopy-ram.h | 4 ++-- migration/ram.c | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c index ade7f1c..62a272a 100644 --- a/migration/postcopy-ram.c +++ b/migration/postcopy-ram.c @@ -713,9 +713,10 @@ int postcopy_ram_enable_notify(MigrationIncomingState = *mis) * returns 0 on success */ int postcopy_place_page(MigrationIncomingState *mis, void *host, void *fro= m, - size_t pagesize) + RAMBlock *rb) { struct uffdio_copy copy_struct; + size_t pagesize =3D qemu_ram_pagesize(rb); =20 copy_struct.dst =3D (uint64_t)(uintptr_t)host; copy_struct.src =3D (uint64_t)(uintptr_t)from; @@ -744,10 +745,12 @@ int postcopy_place_page(MigrationIncomingState *mis, = void *host, void *from, * returns 0 on success */ int postcopy_place_page_zero(MigrationIncomingState *mis, void *host, - size_t pagesize) + RAMBlock *rb) { + size_t pagesize; trace_postcopy_place_page_zero(host); =20 + pagesize =3D qemu_ram_pagesize(rb); if (pagesize =3D=3D getpagesize()) { struct uffdio_zeropage zero_struct; zero_struct.range.start =3D (uint64_t)(uintptr_t)host; @@ -778,7 +781,7 @@ int postcopy_place_page_zero(MigrationIncomingState *mi= s, void *host, memset(mis->postcopy_tmp_zero_page, '\0', mis->largest_page_si= ze); } return postcopy_place_page(mis, host, mis->postcopy_tmp_zero_page, - pagesize); + rb); } =20 return 0; @@ -841,14 +844,14 @@ int postcopy_ram_enable_notify(MigrationIncomingState= *mis) } =20 int postcopy_place_page(MigrationIncomingState *mis, void *host, void *fro= m, - size_t pagesize) + RAMBlock *rb) { assert(0); return -1; } =20 int postcopy_place_page_zero(MigrationIncomingState *mis, void *host, - size_t pagesize) + RAMBlock *rb) { assert(0); return -1; diff --git a/migration/postcopy-ram.h b/migration/postcopy-ram.h index 587a8b8..77ea0fd 100644 --- a/migration/postcopy-ram.h +++ b/migration/postcopy-ram.h @@ -72,14 +72,14 @@ void postcopy_discard_send_finish(MigrationState *ms, * returns 0 on success */ int postcopy_place_page(MigrationIncomingState *mis, void *host, void *fro= m, - size_t pagesize); + RAMBlock *rb); =20 /* * Place a zero page at (host) atomically * returns 0 on success */ int postcopy_place_page_zero(MigrationIncomingState *mis, void *host, - size_t pagesize); + RAMBlock *rb); =20 /* The current postcopy state is read/set by postcopy_state_get/set * which update it atomically. diff --git a/migration/ram.c b/migration/ram.c index a7c0db4..a791d40 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2524,10 +2524,10 @@ static int ram_load_postcopy(QEMUFile *f) =20 if (all_zero) { ret =3D postcopy_place_page_zero(mis, place_dest, - block->page_size); + block); } else { ret =3D postcopy_place_page(mis, place_dest, - place_source, block->page_size); + place_source, block); } } if (!ret) { --=20 1.9.1