On 03/01/2013 06:31 AM, Peter Lieven wrote: > at the beginning of migration all pages are marked dirty and > in the first round a bulk migration of all pages is performed. > > currently all these pages are copied to the page cache regardless > if there are frequently updated or not. this doesn't make sense > since most of these pages are never transferred again. > > this patch changes the XBZRLE transfer to only be used after > the bulk stage has been completed. that means a page is added > to the page cache the second time it is transferred and XBZRLE > can benefit from the third time of transfer. > > since the page cache is likely smaller than the number of pages > its also likely that in the second round the page is missing in the > cache due to collisions in the bulk phase. > > on the other hand a lot of unneccssary mallocs, memdups and frees
s/unneccssary/unnecessary/ > are saved. > > Signed-off-by: Peter Lieven <p...@kamp.de> Do you have any benchmark numbers? At any rate, the explanation seems sound, so a benchmark should show this. > --- > arch_init.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature