[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
- [PATCH 0/5] migration/postcopy: Sync faulted addresses after network recovered, Peter Xu, 2020/09/03
- [PATCH 1/5] migration: Rework migrate_send_rp_req_pages() function, Peter Xu, 2020/09/03
- [PATCH 2/5] migration: Introduce migrate_send_rp_message_req_pages(), Peter Xu, 2020/09/03
- [PATCH 3/5] migration: Pass incoming state into qemu_ufd_copy_ioctl(), Peter Xu, 2020/09/03
- Re: [PATCH 3/5] migration: Pass incoming state into qemu_ufd_copy_ioctl(),
Dr. David Alan Gilbert <=
- [PATCH 4/5] migration: Maintain postcopy faulted addresses, Peter Xu, 2020/09/03
- [PATCH 5/5] migration: Sync requested pages after postcopy recovery, Peter Xu, 2020/09/03