"Dr. David Alan Gilbert" <dgilb...@redhat.com> wrote: > * Juan Quintela (quint...@redhat.com) wrote: >> The function still don't use multifd, but we have simplified >> ram_save_page, xbzrle and RDMA stuff is gone. We have added a new >> counter and a new flag for this type of pages. >> >> Signed-off-by: Juan Quintela <quint...@redhat.com>
>> +static int ram_multifd_page(QEMUFile *f, PageSearchStatus *pss, >> + bool last_stage, uint64_t *bytes_transferred) >> +{ >> + int pages; >> + uint8_t *p; >> + RAMBlock *block = pss->block; >> + ram_addr_t offset = pss->offset; >> + >> + p = block->host + offset; >> + >> + if (block == last_sent_block) { >> + offset |= RAM_SAVE_FLAG_CONTINUE; >> + } >> + pages = save_zero_page(f, block, offset, p, bytes_transferred); >> + if (pages == -1) { >> + *bytes_transferred += >> + save_page_header(f, block, offset | RAM_SAVE_FLAG_MULTIFD_PAGE); >> + qemu_put_buffer(f, p, TARGET_PAGE_SIZE); >> + *bytes_transferred += TARGET_PAGE_SIZE; >> + pages = 1; >> + acct_info.norm_pages++; >> + acct_info.multifd_pages++; > > The acct_info is now updated simultaneously from multiple > threads? No. This is still done from the migration thread. Later, Juan.