From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Balamuruhan S <bala24@linux.vnet.ibm.com>
Cc: Peter Xu <peterx@redhat.com>,
qemu-devel@nongnu.org, quintela@redhat.com, dgibson@redhat.com
Subject: Re: [Qemu-devel] [PATCH] migration: calculate expected_downtime with ram_bytes_remaining()
Date: Mon, 9 Apr 2018 19:57:47 +0100 [thread overview]
Message-ID: <20180409185747.GL2449@work-vm> (raw)
In-Reply-To: <0a48a834f08d064eaa3eb4ef1b41235f@linux.vnet.ibm.com>
* Balamuruhan S (bala24@linux.vnet.ibm.com) wrote:
> On 2018-04-04 13:36, Peter Xu wrote:
> > On Wed, Apr 04, 2018 at 11:55:14AM +0530, Balamuruhan S wrote:
> >
> > [...]
> >
> > > > too. So still I'll put aside the "which one is better" question.
> > > >
> > > > For your use case, you can have a look on either of below way to
> > > > have a converged migration:
> > > >
> > > > - auto-converge: that's a migration capability that throttles CPU
> > > > usage of guests
> > >
> > > I used auto-converge option before hand and still it doesn't help
> > > for migration to complete
> >
> > Have you digged about why? AFAIK auto-convergence will at last absort
> > merely the whole vcpu resource (99% of them maximum). Maybe you are
> > not with the best throttle values? Or do you think that could be a
> > auto-convergence bug too?
>
> I am not sure, I will work on it to find why.
> >
> > >
> > > >
> > > > - postcopy: that'll let you start the destination VM even without
> > > > transferring all the RAMs before hand
> > >
> > > I am seeing issue in postcopy migration between POWER8(16M) ->
> > > POWER9(1G)
> > > where the hugepage size is different. I am trying to enable it but
> > > host
> > > start
> > > address have to be aligned with 1G page size in
> > > ram_block_discard_range(),
> > > which I am debugging further to fix it.
> >
> > I thought the huge page size needs to be matched on both side
> > currently for postcopy but I'm not sure.
>
> you are right! it should be matched, but we need to support
> POWER8(16M) -> POWER9(1G)
>
> > CC Dave (though I think Dave's still on PTO).
There's two problems there:
a) Postcopy with really big huge pages is a problem, because it takes
a long time to send the whole 1G page over the network and the vCPU
is paused during that time; for example on a 10Gbps link, it takes
about 1 second to send a 1G page, so that's a silly time to keep
the vCPU paused.
b) Mismatched pagesizes are a problem on postcopy; we require that the
whole of a hostpage is sent continuously, so that it can be
atomically placed in memory, the source knows to do this based on
the page sizes that it sees. There are some other cases as well
(e.g. discards have to be page aligned.)
Both of the problems are theoretically fixable; but neither case is
easy.
(b) could be fixed by sending the hugepage size back to the source,
so that it knows to perform alignments on a larger boundary to it's
own RAM blocks.
(a) is a much much harder problem; one *idea* would be a major
reorganisation of the kernels hugepage + userfault code to somehow
allow them to temporarily present as normal pages rather than a
hugepage.
Does P9 really not have a hugepage that's smaller than 1G?
Dave
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2018-04-09 18:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-04 6:25 [Qemu-devel] [PATCH] migration: calculate expected_downtime with ram_bytes_remaining() Balamuruhan S
2018-04-04 8:06 ` Peter Xu
2018-04-04 8:49 ` Balamuruhan S
2018-04-09 18:57 ` Dr. David Alan Gilbert [this message]
2018-04-10 1:22 ` David Gibson
2018-04-10 10:02 ` Dr. David Alan Gilbert
2018-04-11 1:28 ` David Gibson
-- strict thread matches above, loose matches on Subject: below --
2018-03-31 18:55 Balamuruhan S
2018-04-03 6:10 ` Peter Xu
2018-04-03 17:30 ` bala24
2018-04-04 1:59 ` Peter Xu
2018-04-04 9:02 ` Juan Quintela
2018-04-04 9:04 ` Juan Quintela
2018-04-10 9:52 ` Balamuruhan S
2018-04-10 10:52 ` Balamuruhan S
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180409185747.GL2449@work-vm \
--to=dgilbert@redhat.com \
--cc=bala24@linux.vnet.ibm.com \
--cc=dgibson@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).