qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 06/11] migration: Move iov from pages to params


From: Richard Henderson
Subject: Re: [PATCH 06/11] migration: Move iov from pages to params
Date: Sat, 20 Nov 2021 13:31:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0

On 11/19/21 5:58 PM, Juan Quintela wrote:
  static int nocomp_send_prepare(MultiFDSendParams *p, uint32_t used,
                                 Error **errp)
  {
+    MultiFDPages_t *pages = p->pages;
+
+    for (int i = 0; i < used; i++) {
+        p->iov[p->iovs_used].iov_base = pages->block->host + pages->offset[i];
+        p->iov[p->iovs_used].iov_len = qemu_target_page_size();
+        p->iovs_used++;
+    }
+
      p->next_packet_size = used * qemu_target_page_size();

Compute qemu_target_page_size once in the function.
Hoist p->iovs_used to a local variable around the loop.

@@ -154,7 +162,11 @@ static int nocomp_recv_pages(MultiFDRecvParams *p, 
uint32_t used, Error **errp)
                     p->id, flags, MULTIFD_FLAG_NOCOMP);
          return -1;
      }
-    return qio_channel_readv_all(p->c, p->pages->iov, used, errp);
+    for (int i = 0; i < p->pages->used; i++) {
+        p->iov[i].iov_base = p->pages->block->host + p->pages->offset[i];
+        p->iov[i].iov_len = qemu_target_page_size();
+    }

Similarly.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]