Richard Henderson <richard.hender...@linaro.org> wrote: > 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.
Done both. Thank again, Juan.