From nobody Mon Feb 9 23:40:30 2026 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 1498466261638592.7956179970663; Mon, 26 Jun 2017 01:37:41 -0700 (PDT) Received: from localhost ([::1]:45302 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPPWd-0002Bg-Ql for importer@patchew.org; Mon, 26 Jun 2017 04:37:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42064) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPPV0-0001Ew-V3 for qemu-devel@nongnu.org; Mon, 26 Jun 2017 04:35:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dPPUx-0003EK-QT for qemu-devel@nongnu.org; Mon, 26 Jun 2017 04:35:58 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:36972) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dPPUx-0003Dk-GA for qemu-devel@nongnu.org; Mon, 26 Jun 2017 04:35:55 -0400 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OS500IGTBVSC750@mailout3.w1.samsung.com> for qemu-devel@nongnu.org; Mon, 26 Jun 2017 09:35:52 +0100 (BST) Received: from eusmges3.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170626083551eucas1p2cecf7319c334f90ac962d226ac5ea0d8~LnwamtSlt2007020070eucas1p2Q; Mon, 26 Jun 2017 08:35:51 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3.samsung.com (EUCPMTA) with SMTP id A8.94.17464.767C0595; Mon, 26 Jun 2017 09:35:51 +0100 (BST) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170626083551eucas1p1b0cb811534fae257da120e71d32eab37~LnwZ9ASZD3109431094eucas1p1i; Mon, 26 Jun 2017 08:35:51 +0000 (GMT) Received: from eusync3.samsung.com ( [203.254.199.213]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 56.F4.17452.767C0595; Mon, 26 Jun 2017 09:35:51 +0100 (BST) Received: from aperevalov-ubuntu.rnd.samsung.ru ([106.109.129.199]) by eusync3.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OS500G3ZBVGGX60@eusync3.samsung.com>; Mon, 26 Jun 2017 09:35:51 +0100 (BST) X-AuditID: cbfec7f2-f797e6d000004438-2a-5950c767b4b5 From: Alexey Perevalov To: qemu-devel@nongnu.org Date: Mon, 26 Jun 2017 11:35:18 +0300 Message-id: <1498466120-5836-2-git-send-email-a.perevalov@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1498466120-5836-1-git-send-email-a.perevalov@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrNIsWRmVeSWpSXmKPExsWy7djPc7rpxwMiDR5e17SYe/c8i0Xvtnvs Flfaf7JbbNn/jd3ieO8OFos7W/qYHNg8nlzbzOTxft9VNo++LasYA5ijuGxSUnMyy1KL9O0S uDJundzPWNCnUNF5+TVrA2OvWBcjB4eEgInEn6kFXYycQKaYxIV769m6GLk4hASWMkrcvdnM CuF8ZpQ49XABE0SVicTUddOhqpYxSrS1TIRyupkkHlzdxwIylk3AQGLfPVuQBhEBSYnfXaeZ QWqYBVoZJdr7HjGDJIQFXCTuz9wFZrMIqEpM2nOFEcTmFXCTODX/MTvENjmJk8cms4LM5BRw l5i+lxtkjoTAYzaJCdcusEC8ICux6QAzRLmLxKy1KxghbGGJV8e3QI2RkejsOMgE0dvOKNG9 s5MVwpnAKHFm+l+oKnuJUzevgr3JLMAnMWnbdGaIBbwSHW1CECUeEo87LrFB2I4S/bcOskM8 P4tR4s++KYwTGGUWMDKsYhRJLS3OTU8tNtYrTswtLs1L10vOz93ECIzS0/+Of9rB+PWE1SFG AQ5GJR7eA9YBkUKsiWXFlbmHGCU4mJVEeDduAwrxpiRWVqUW5ccXleakFh9ilOZgURLn5Tp1 LUJIID2xJDU7NbUgtQgmy8TBKdXAWO921X93zgl+0X3933csLOJbF74uf/2vhuNeXKG+67iF ptlJeJXet3p50871jKdp2aaYpbsstp48oB+otmDSg4wk+4m78y/O/ebb9OqwUc/yyOPrYtbw bbJo33nj1+/bBQFnS5RVX0Qap6+7V7fp+sRDM4NcUtdyX/qx5H2lSM/P2a9n8NxSXKLEUpyR aKjFXFScCADXkVR5zgIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrJLMWRmVeSWpSXmKPExsVy+t/xq7rpxwMiDZq38VrMvXuexaJ32z12 iyvtP9kttuz/xm5xvHcHi8WdLX1MDmweT65tZvJ4v+8qm0ffllWMAcxRbjYZqYkpqUUKqXnJ +SmZeem2SqEhbroWSgp5ibmptkoRur4hQUoKZYk5pUCekQEacHAOcA9W0rdLcMu4dXI/Y0Gf QkXn5desDYy9Yl2MnBwSAiYSU9dNZ4OwxSQu3FsPZHNxCAksYZTonzCXBSQhJNDLJHHin1UX IwcHm4CBxL57tiBhEQFJid9dp5lB6pkFWhklnjTOYgdJCAu4SNyfuYsZxGYRUJWYtOcKI4jN K+AmcWr+Y3aIZXISJ49NZgWZySngLjF9LzfEKjeJB6u2sk5g5F3AyLCKUSS1tDg3PbfYUK84 Mbe4NC9dLzk/dxMjMFi3Hfu5eQfjpY3BhxgFOBiVeHgPWQdECrEmlhVX5h5ilOBgVhLh3bgN KMSbklhZlVqUH19UmpNafIjRFOimicxSosn5wEjKK4k3NDE0tzQ0MrawMDcyUhLnLflwJVxI ID2xJDU7NbUgtQimj4mDU6qBsfL4PN3fJ2Yem9lTIL/xepn/Zk8v5amzmC5+mD/zWLq5u+Cp tGOXFl/5oLrz5udL7gk7Lb8bbPSRUs+f4RRzZnLf5Fcvl/HZn7p/VNg7OyjxyWE3F9XnSmzn a2Y2T5nnt2CBa7rGtivmq/ua9tsHv3461bHO2MHrW0vN/qgkdus/p6Oj4+2uySmxFGckGmox FxUnAgB/nI50bAIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170626083551eucas1p1b0cb811534fae257da120e71d32eab37 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: 20170626083551eucas1p1b0cb811534fae257da120e71d32eab37 X-RootMTR: 20170626083551eucas1p1b0cb811534fae257da120e71d32eab37 References: <1498466120-5836-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.13 Subject: [Qemu-devel] [PATCH v4 1/3] 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, dgilbert@redhat.com, Alexey Perevalov , peterx@redhat.com, quintela@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 copied pages as closer as possible to the place where it tracks down. That will be necessary in futher patch. Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Peter Xu Reviewed-by: Juan Quintela Signed-off-by: Alexey Perevalov --- migration/postcopy-ram.c | 13 +++++++------ migration/postcopy-ram.h | 4 ++-- migration/ram.c | 4 ++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c index c8c4500..dae41b5 100644 --- a/migration/postcopy-ram.c +++ b/migration/postcopy-ram.c @@ -566,9 +566,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; @@ -597,11 +598,11 @@ 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) { trace_postcopy_place_page_zero(host); =20 - if (pagesize =3D=3D getpagesize()) { + if (qemu_ram_pagesize(rb) =3D=3D getpagesize()) { struct uffdio_zeropage zero_struct; zero_struct.range.start =3D (uint64_t)(uintptr_t)host; zero_struct.range.len =3D getpagesize(); @@ -631,7 +632,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; @@ -694,14 +695,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 52d51e8..78a3591 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 8dbdfdb..f50479d 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2465,10 +2465,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