qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 3/5] migration: Pass incoming state into qemu_ufd_copy_ioctl(


From: Dr. David Alan Gilbert
Subject: Re: [PATCH 3/5] migration: Pass incoming state into qemu_ufd_copy_ioctl()
Date: Tue, 8 Sep 2020 10:30:52 +0100
User-agent: Mutt/1.14.6 (2020-07-11)

* Peter Xu (peterx@redhat.com) wrote:
> It'll be used in follow up patches to access more fields out of it.  Meanwhile
> fetch the userfaultfd inside the function.
> 
> Signed-off-by: Peter Xu <peterx@redhat.com>

Reviewed-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 11a70441a6..d333c3fd0e 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.26.2
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK




reply via email to

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