"Dr. David Alan Gilbert (git)" <dgilb...@redhat.com> wrote: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > When using hugepages, rate limiting is necessary within each huge > page, since a 1G huge page can take a significant time to send, so > you end up with bursty behaviour. > > Fixes: 4c011c37ecb3 ("postcopy: Send whole huge pages") > Reported-by: Lin Ma <l...@suse.com> > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > ---
Reviewed-by: Juan Quintela <quint...@redhat.com> I can agree that rate limit needs to be done for huge pages. > diff --git a/migration/ram.c b/migration/ram.c > index a4ae3b3120..a9177c6a24 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -2616,6 +2616,8 @@ static int ram_save_host_page(RAMState *rs, > PageSearchStatus *pss, > > pages += tmppages; > pss->page++; > + /* Allow rate limiting to happen in the middle of huge pages */ > + migration_rate_limit(); > } while ((pss->page & (pagesize_bits - 1)) && > offset_in_ramblock(pss->block, pss->page << TARGET_PAGE_BITS)); > But is doing the rate limit for each page, no? Even when not using huge pages. Not that it should be a big issue (performance wise). Have you done any meassuremnet? Later, Juan.