On Thu, 27 Apr 2023 18:34:35 +0200 Juan Quintela <quint...@redhat.com> wrote:
> Now that we have atomic counters, we can do it on the place that we > need it, no need to do it inside ram.c. > > Signed-off-by: Juan Quintela <quint...@redhat.com> Reviewed-by: Lukas Straub <lukasstra...@web.de> > --- > migration/ram.c | 12 ++++-------- > migration/ram.h | 2 +- > migration/rdma.c | 7 +++++-- > 3 files changed, 10 insertions(+), 11 deletions(-) > > diff --git a/migration/ram.c b/migration/ram.c > index c3981f64e4..c249a1f468 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -2629,17 +2629,13 @@ static int ram_find_and_save_block(RAMState *rs) > return pages; > } > > -void acct_update_position(QEMUFile *f, size_t size, bool zero) > +void acct_update_position(QEMUFile *f, size_t size) > { > uint64_t pages = size / TARGET_PAGE_SIZE; > > - if (zero) { > - stat64_add(&mig_stats.zero_pages, pages); > - } else { > - stat64_add(&mig_stats.normal_pages, pages); > - ram_transferred_add(size); > - qemu_file_credit_transfer(f, size); > - } > + stat64_add(&mig_stats.normal_pages, pages); > + ram_transferred_add(size); > + qemu_file_credit_transfer(f, size); > } > > static uint64_t ram_bytes_total_with_ignored(void) > diff --git a/migration/ram.h b/migration/ram.h > index 8692de6ba0..3804753ca3 100644 > --- a/migration/ram.h > +++ b/migration/ram.h > @@ -53,7 +53,7 @@ void mig_throttle_counter_reset(void); > > uint64_t ram_pagesize_summary(void); > int ram_save_queue_pages(const char *rbname, ram_addr_t start, ram_addr_t > len); > -void acct_update_position(QEMUFile *f, size_t size, bool zero); > +void acct_update_position(QEMUFile *f, size_t size); > void ram_postcopy_migrated_memory_release(MigrationState *ms); > /* For outgoing discard bitmap */ > void ram_postcopy_send_discard_bitmap(MigrationState *ms); > diff --git a/migration/rdma.c b/migration/rdma.c > index 0af5e944f0..7a9b284c3f 100644 > --- a/migration/rdma.c > +++ b/migration/rdma.c > @@ -17,8 +17,10 @@ > #include "qemu/osdep.h" > #include "qapi/error.h" > #include "qemu/cutils.h" > +#include "exec/target_page.h" > #include "rdma.h" > #include "migration.h" > +#include "migration-stats.h" > #include "qemu-file.h" > #include "ram.h" > #include "qemu/error-report.h" > @@ -2120,7 +2122,8 @@ retry: > return -EIO; > } > > - acct_update_position(f, sge.length, true); > + stat64_add(&mig_stats.zero_pages, > + sge.length / qemu_target_page_size()); > > return 1; > } > @@ -2228,7 +2231,7 @@ retry: > } > > set_bit(chunk, block->transit_bitmap); > - acct_update_position(f, sge.length, false); > + acct_update_position(f, sge.length); > rdma->total_writes++; > > return 0; --
pgpnzzlkFwkoC.pgp
Description: OpenPGP digital signature