[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] migration: not send zero page header in ram bul
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH] migration: not send zero page header in ram bulk stage |
Date: |
Mon, 18 Jan 2016 09:33:28 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
* Li, Liang Z (address@hidden) wrote:
> > * Liang Li (address@hidden) wrote:
> > > Now that VM's RAM pages are initialized to zero, (VM's RAM is allcated
> > > with the mmap() and MAP_ANONYMOUS option, or mmap() without
> > MAP_SHARED
> > > if hugetlbfs is used.) so there is no need to send the zero page
> > > header to destination.
> > >
> > > For guest just uses a small portions of RAM, this change can avoid
> > > allocating all the guest's RAM pages in the destination node after
> > > live migration. Another benefit is destination QEMU can save lots of
> > > CPU cycles for zero page checking.
> >
> > I think this would break postcopy, because the zero pages wouldn't be filled
> > in, so accessing them would still generate a userfault.
> > So you'd have to disable this optimisation if postcopy is enabled (even
> > during
> > the precopy bulk stage).
> >
> > Also, are you sure about the benefits?
> > Destination guests RAM should not be allocated on receiving a zero page;
> > see ram_handle_compressed, it doesn't write to the page if it's zero, so it
> > shouldn't cause an allocate. I think you're probably correct about the zero
> > page test on the destination, I wonder if we can speed that up.
> >
> > Dave
>
> I have test the performance, with a 8G guest just booted, this patch can
> reduce total live migration time about 10%.
> Unfortunately, Paolo said this patch would break LM in some case ....
>
> For the zero page test on the destination, if the page is really a zero page,
> test is faster than writing a whole page of zero.
There shouldn't be a write on the destination though; it does a check if
the page is already zero and only if it's none-zero does it do the write;
it should rarely be non-zero.
Dave
>
> Liang
>
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK