qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>
To: qemu-devel@nongnu.org, yubihong@huawei.com, peterx@redhat.com,
	peter.maydell@linaro.org
Cc: quintela@redhat.com
Subject: [PULL 11/16] migration: Pass incoming state into qemu_ufd_copy_ioctl()
Date: Mon, 26 Oct 2020 16:19:47 +0000	[thread overview]
Message-ID: <20201026161952.149188-12-dgilbert@redhat.com> (raw)
In-Reply-To: <20201026161952.149188-1-dgilbert@redhat.com>

From: Peter Xu <peterx@redhat.com>

It'll be used in follow up patches to access more fields out of it.  Meanwhile
fetch the userfaultfd inside the function.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201021212721.440373-2-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 migration/postcopy-ram.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
index eea92bbd36..aed4cdaa38 100644
--- a/migration/postcopy-ram.c
+++ b/migration/postcopy-ram.c
@@ -1128,10 +1128,12 @@ int postcopy_ram_incoming_setup(MigrationIncomingState *mis)
     return 0;
 }
 
-static int qemu_ufd_copy_ioctl(int userfault_fd, void *host_addr,
+static int qemu_ufd_copy_ioctl(MigrationIncomingState *mis, void *host_addr,
                                void *from_addr, uint64_t pagesize, RAMBlock *rb)
 {
+    int userfault_fd = mis->userfault_fd;
     int ret;
+
     if (from_addr) {
         struct uffdio_copy copy_struct;
         copy_struct.dst = (uint64_t)(uintptr_t)host_addr;
@@ -1185,7 +1187,7 @@ int postcopy_place_page(MigrationIncomingState *mis, void *host, void *from,
      * which would be slightly cheaper, but we'd have to be careful
      * of the order of updating our page state.
      */
-    if (qemu_ufd_copy_ioctl(mis->userfault_fd, host, from, pagesize, rb)) {
+    if (qemu_ufd_copy_ioctl(mis, host, from, pagesize, rb)) {
         int e = errno;
         error_report("%s: %s copy host: %p from: %p (size: %zd)",
                      __func__, strerror(e), host, from, pagesize);
@@ -1212,7 +1214,7 @@ int postcopy_place_page_zero(MigrationIncomingState *mis, void *host,
      * but it's not available for everything (e.g. hugetlbpages)
      */
     if (qemu_ram_is_uf_zeroable(rb)) {
-        if (qemu_ufd_copy_ioctl(mis->userfault_fd, host, NULL, pagesize, rb)) {
+        if (qemu_ufd_copy_ioctl(mis, host, NULL, pagesize, rb)) {
             int e = errno;
             error_report("%s: %s zero host: %p",
                          __func__, strerror(e), host);
-- 
2.28.0



  parent reply	other threads:[~2020-10-26 16:26 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-26 16:19 [PULL 00/16] migration queue Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 01/16] migration: Drop unused VMSTATE_FLOAT64 support Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 02/16] migration: Do not use C99 // comments Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 03/16] migration: Don't use '#' flag of printf format Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 04/16] migration: Add spaces around operator Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 05/16] migration: Open brace '{' following struct go on the same line Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 06/16] migration: Add braces {} for if statement Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 07/16] migration: Do not initialise statics and globals to 0 or NULL Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 08/16] migration: Open brace '{' following function declarations go on the next line Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 09/16] migration: Delete redundant spaces Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 10/16] migration: using trace_ to replace DPRINTF Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` Dr. David Alan Gilbert (git) [this message]
2020-10-26 16:19 ` [PULL 12/16] migration: Introduce migrate_send_rp_message_req_pages() Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 13/16] migration: Maintain postcopy faulted addresses Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 14/16] migration: Sync requested pages after postcopy recovery Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 15/16] migration/postcopy: Release fd before going into 'postcopy-pause' Dr. David Alan Gilbert (git)
2020-10-26 16:19 ` [PULL 16/16] migration-test: Only hide error if !QTEST_LOG Dr. David Alan Gilbert (git)
2020-10-26 16:39 ` [PULL 00/16] migration queue no-reply
2020-10-26 16:52   ` Dr. David Alan Gilbert
2020-10-27 11:28 ` Peter Maydell
2020-10-31 16:12 ` Christian Schoenebeck
2020-10-31 17:26   ` Peter Maydell
2020-10-31 17:46     ` Peter Xu
2020-10-31 19:10       ` Christian Schoenebeck
2020-11-01 10:17         ` Christian Schoenebeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201026161952.149188-12-dgilbert@redhat.com \
    --to=dgilbert@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=yubihong@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).