From: Anthony Liguori <anthony@codemonkey.ws>
To: Alexander Graf <agraf@suse.de>
Cc: "Nikunj A Dadhania" <nikunj@linux.vnet.ibm.com>,
"Alexey Kardashevskiy" <aik@ozlabs.ru>,
qemu-devel <qemu-devel@nongnu.org>,
"Paul Mackerras" <paulus@samba.org>,
"open list:PowerPC" <qemu-ppc@nongnu.org>,
"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [RFC PATCH] spapr: add initial ibm, client-architecture-support rtas call support
Date: Wed, 4 Sep 2013 16:32:20 -0500 [thread overview]
Message-ID: <CA+aC4ktu++GfzYCETEKRXdQMGZ=zhMv3nXa8SDHpJ5oY6WdSCQ@mail.gmail.com> (raw)
In-Reply-To: <FE40E342-1934-470E-BEB3-124D3DAD5459@suse.de>
On Wed, Sep 4, 2013 at 8:37 AM, Alexander Graf <agraf@suse.de> wrote:
>
>>
>>> So IMHO this whole thing should be orthogonal to -cpu.
>>
>> Well, since we cannot change CPU class on the fly, yes, it should be a
>> "compatibility" flags/properties/methods/whatever of the default CPU for
>> the specific family.
>
> Since it's machine global, it could just as well be a machine option, no? Or can you have multiple CPUs with different compat modes in a single system?
AFAIK, this has nothing to do with CPUs.
>>> Why? Just because you're on POWER7 as default doesn't mean you can't bump to a newer compat later on, no?
>>
>> Bump when exactly? And it won't be a new compat, it will be a native CPU. I
>
> If you configure your guest to boot in POWER7-compat mode on your POWER8 box and it then tells you through ibm,client-architecture-support that it can do POWER8, we can just remove all the compat bits and be happy, no?
POWER8 is compatible with POWER7, right? There's no magic bits that
need to be disabled AFAIK.
The effective version if exposed through device tree. The reason a
reboot is needed is because the device tree needs to be updated (which
can't be done without a reboot).
The problem to solve is delaying device tree generation in order to
avoid the reboots, no?
(Maybe it's time to start thinking of non-PAPR interfaces that Linux
KVM guests can use to avoid a lot of this silliness...)
>> thought you are totally against reboots and you want libvirt (for example)
>> to detect that this was ibm,client-architecture-support and reboot the
>> guest with new CPU type (or machine option).
>
> I'm not sure which way the best one forward is, but at first we need to get something working that feels natural for people coming from x86 as well as pHyp.
>
> So I think we should enable both use cases. We should do the on-the-fly transitioning in QEMU with the chance of libvirt intercepting it. I don't think the intercepting part is a hard requirement today, but we should keep it in mind to know the full picture.
>
> That way a client-architecture-support rtas call can either reboot the system and automatically do "the right thing" and/or it can tell libvirt via QMP that we changed the client-architecture-support which means libvirt now has the chance to reconfigure the default setting next time it spawns a VM.
>
> Which gets us to the third bit. You need to be able to tell QEMU what the "default" client-architecture-support level is when you boot a VM to make sure that a POWER7 guest on a POWER8 system doesn't always reboot to reconfigure itself first thing when it boots up. As Ben mentioned, migration is obviously a strong point for this one too.
>
> So what do we need?
>
> - machine flag to indicate compat level
> - machine reset evaluates compat level, adjusts VM accordingly
> - rtas call merely modifies machine flag and triggers a reset
> - optional: QMP notifier when the rtas call changed the machine flag
Regards,
Anthony Liguori
>
>
> Alex
>
>
next prev parent reply other threads:[~2013-09-04 21:32 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-04 10:19 [Qemu-devel] [RFC PATCH] spapr: add initial ibm, client-architecture-support rtas call support Alexey Kardashevskiy
2013-09-04 10:42 ` Alexander Graf
2013-09-04 11:40 ` Alexey Kardashevskiy
2013-09-04 11:54 ` Benjamin Herrenschmidt
2013-09-04 12:59 ` Alexey Kardashevskiy
2013-09-04 12:13 ` Alexander Graf
2013-09-04 13:08 ` Alexey Kardashevskiy
2013-09-04 13:37 ` Alexander Graf
2013-09-04 21:32 ` Anthony Liguori [this message]
2013-09-05 10:16 ` Paul Mackerras
2013-09-05 10:19 ` Alexander Graf
2013-09-05 11:55 ` Paul Mackerras
2013-09-05 13:04 ` Alexander Graf
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='CA+aC4ktu++GfzYCETEKRXdQMGZ=zhMv3nXa8SDHpJ5oY6WdSCQ@mail.gmail.com' \
--to=anthony@codemonkey.ws \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=nikunj@linux.vnet.ibm.com \
--cc=paulus@samba.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/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).