[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 19/23] multifd: recv side only needs the RAMBlock host add
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [PATCH v3 19/23] multifd: recv side only needs the RAMBlock host address |
Date: |
Wed, 1 Dec 2021 18:56:34 +0000 |
User-agent: |
Mutt/2.1.3 (2021-09-10) |
* Juan Quintela (quintela@redhat.com) wrote:
> So we can remove the MultiFDPages.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> migration/multifd.h | 4 ++--
> migration/multifd-zlib.c | 2 +-
> migration/multifd-zstd.c | 2 +-
> migration/multifd.c | 7 ++-----
> 4 files changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/migration/multifd.h b/migration/multifd.h
> index 9fbcb7bb9a..ab32baebd7 100644
> --- a/migration/multifd.h
> +++ b/migration/multifd.h
> @@ -136,8 +136,8 @@ typedef struct {
> bool running;
> /* should this thread finish */
> bool quit;
> - /* array of pages to receive */
> - MultiFDPages_t *pages;
> + /* ramblock host address */
> + uint8_t *host;
> /* packet allocated len */
> uint32_t packet_len;
> /* pointer to the packet */
> diff --git a/migration/multifd-zlib.c b/migration/multifd-zlib.c
> index cc143b829d..bf4d87fa16 100644
> --- a/migration/multifd-zlib.c
> +++ b/migration/multifd-zlib.c
> @@ -253,7 +253,7 @@ static int zlib_recv_pages(MultiFDRecvParams *p, Error
> **errp)
> }
>
> zs->avail_out = page_size;
> - zs->next_out = p->pages->block->host + p->normal[i];
> + zs->next_out = p->host + p->normal[i];
>
> /*
> * Welcome to inflate semantics
> diff --git a/migration/multifd-zstd.c b/migration/multifd-zstd.c
> index 93d504ce0f..dd64ac3227 100644
> --- a/migration/multifd-zstd.c
> +++ b/migration/multifd-zstd.c
> @@ -264,7 +264,7 @@ static int zstd_recv_pages(MultiFDRecvParams *p, Error
> **errp)
> z->in.pos = 0;
>
> for (i = 0; i < p->normal_num; i++) {
> - z->out.dst = p->pages->block->host + p->normal[i];
> + z->out.dst = p->host + p->normal[i];
> z->out.size = page_size;
> z->out.pos = 0;
>
> diff --git a/migration/multifd.c b/migration/multifd.c
> index 3ffb1aba64..dc76322137 100644
> --- a/migration/multifd.c
> +++ b/migration/multifd.c
> @@ -147,7 +147,7 @@ static int nocomp_recv_pages(MultiFDRecvParams *p, Error
> **errp)
> return -1;
> }
> for (int i = 0; i < p->normal_num; i++) {
> - p->iov[i].iov_base = p->pages->block->host + p->normal[i];
> + p->iov[i].iov_base = p->host + p->normal[i];
> p->iov[i].iov_len = page_size;
> }
> return qio_channel_readv_all(p->c, p->iov, p->normal_num, errp);
> @@ -340,7 +340,7 @@ static int multifd_recv_unfill_packet(MultiFDRecvParams
> *p, Error **errp)
> return -1;
> }
>
> - p->pages->block = block;
> + p->host = block->host;
> for (i = 0; i < p->normal_num; i++) {
> uint64_t offset = be64_to_cpu(packet->offset[i]);
>
> @@ -1004,8 +1004,6 @@ int multifd_load_cleanup(Error **errp)
> qemu_sem_destroy(&p->sem_sync);
> g_free(p->name);
> p->name = NULL;
> - multifd_pages_clear(p->pages);
> - p->pages = NULL;
> p->packet_len = 0;
> g_free(p->packet);
> p->packet = NULL;
> @@ -1146,7 +1144,6 @@ int multifd_load_setup(Error **errp)
> qemu_sem_init(&p->sem_sync, 0);
> p->quit = false;
> p->id = i;
> - p->pages = multifd_pages_init(page_count);
> p->packet_len = sizeof(MultiFDPacket_t)
> + sizeof(uint64_t) * page_count;
> p->packet = g_malloc0(p->packet_len);
> --
> 2.33.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v3 19/23] multifd: recv side only needs the RAMBlock host address,
Dr. David Alan Gilbert <=