All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Al Stone <al.stone@linaro.org>,
	Graeme Gregory <graeme.gregory@linaro.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anshul Makkar <anshul.makkar@citrix.com>,
	Julien Grall <julien.grall@arm.com>,
	xen-devel@lists.xenproject.org,
	BorisOstrovsky <boris.ostrovsky@oracle.com>
Subject: Re: PVH CPU hotplug design document
Date: Tue, 17 Jan 2017 11:43:41 +0000	[thread overview]
Message-ID: <20170117114341.emewl3vqgpfvc72r@dhcp-3-221.uk.xensource.com> (raw)
In-Reply-To: <587DEE2B0200007800130C08@prv-mh.provo.novell.com>

On Tue, Jan 17, 2017 at 02:12:59AM -0700, Jan Beulich wrote:
> >>> On 16.01.17 at 18:44, <roger.pau@citrix.com> wrote:
> > On Mon, Jan 16, 2017 at 09:50:53AM -0700, Jan Beulich wrote:
> >> >>> On 16.01.17 at 17:31, <roger.pau@citrix.com> wrote:
> >> > On Mon, Jan 16, 2017 at 09:09:55AM -0700, Jan Beulich wrote:
> >> >> >>> On 16.01.17 at 16:14, <roger.pau@citrix.com> wrote:
> >> > This clearly isn't a requirement when doing PV vCPU hotplug, but it's a
> >> > violation of the spec (proving x2APIC entries without matching processor
> >> > objects), so I wouldn't be surprised if ACPICA or any other ACPI 
> > implementation
> >> > refuses to boot on systems with x2APIC entries but no processor objects.
> >> 
> >> Good point, but what do you suggest short of declaring PVH v2 Dom0
> >> impossible to properly implement? I think that the idea of multiplexing
> >> ACPI for different purposes is simply going too far. For PV there's no
> >> such problem, as the Dom0 OS is expected to be aware that processor
> >> information coming from ACPI is not applicable to the view on CPUs it
> >> has (read: vCPU-s). And therefore, unless clean multiplexing is possible,
> >> I think PVH will need to retain this requirement (at which point there's
> >> no spec violation anymore).
> > 
> > But we definitely want to use ACPI to pass the boot vCPU information, using the
> > MADT for both DomU and Dom0.
> 
> Is that really set in stone?

If the PVH domain has access to an APIC and wants to use it it must parse the
info from the MADT, or else it cannot get the APIC address or the APIC ID (you
could guess those, since their position is quite standard, but what's the
point?)

> > Then for PVH DomU using ACPI vCPU hotplug makes perfect sense, it requires less
> > Xen specific code in the OS and it's fairly easy to implement inside of
> > Xen/toolstack. But I understand that using different methods for DomU vs Dom0
> > is very awkward. I still think that ACPI vCPU hotplug for Dom0 this is not so
> > far-fetched, and that it could be doable.
> > 
> > Could we introduce a new CPUID flag to notify the guest of whether it should
> > expect ACPI vCPU hotplug or PV vCPU hotplug?
> 
> That would be an easy addition.

My proposition would be to notify the usage of PV vCPU hotplug, and not notify
anything when using ACPI vCPU hotplug.

> > I don't really like having Xen-specific checks inside of OSes, like "it's PVH
> > guest" then short circuiting a bunch of native logic. For example the ACPICA
> > ACPI shutdown hooks for Xen Dom0 never made it upstream, and it's very hard for
> > me to argue with the FreeBSD ACPICA maintainer about why those are needed,
> > and why he has to maintain a patch on top of upstream ACPICA only for Xen.
> 
> I understand all those concerns, but we shouldn't replace one ugliness
> by another. I.e. without a reasonably clean concept of how to use
> ACPI here I can't help thinking that the PV model here is the cleaner one
> despite the (little) extra code it requires in OSes.

Right. Do you agree to allow Boris DomU ACPI CPU hotplug to go in when ready,
and the PVH Dom0 series to continue using the same approach? (MADT entries for
vCPUs, unmodified processor objects in the DSDT, PV hotplug for vCPUs).

Is there anyway to get in touch with the ACPI guys in order to see whether this
can be solved in a nice way using ACPI? I know that's not something that's
going to change in the near future, but maybe by bringing it up with them we
can make our life easier in the future?

Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2017-01-17 11:43 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-12 12:13 PVH CPU hotplug design document Roger Pau Monné
2017-01-12 19:00 ` Andrew Cooper
2017-01-13  3:06   ` Boris Ostrovsky
2017-01-13 15:27   ` Jan Beulich
2017-01-16 14:59     ` Roger Pau Monné
2017-01-16 14:50   ` Roger Pau Monné
2017-01-13 15:51 ` Jan Beulich
2017-01-13 19:41   ` Stefano Stabellini
2017-01-14  1:44   ` Boris Ostrovsky
2017-01-16 11:03     ` Jan Beulich
2017-01-16 15:14   ` Roger Pau Monné
2017-01-16 16:09     ` Jan Beulich
2017-01-16 16:31       ` Roger Pau Monné
2017-01-16 16:50         ` Jan Beulich
2017-01-16 17:44           ` Roger Pau Monné
2017-01-16 18:16             ` Stefano Stabellini
2017-01-17  9:12             ` Jan Beulich
2017-01-17 11:43               ` Roger Pau Monné [this message]
2017-01-17 12:33                 ` Jan Beulich
2017-01-17 14:13                   ` Roger Pau Monné
2017-01-17 14:44                     ` Jan Beulich
2017-01-17 15:27                       ` Boris Ostrovsky
2017-01-17 15:33                         ` Jan Beulich
2017-01-17 15:50                           ` Boris Ostrovsky
2017-01-17 17:45                             ` Roger Pau Monné
2017-01-17 18:50                               ` Boris Ostrovsky
2017-01-18 10:34                                 ` Roger Pau Monné
2017-01-18 10:44                                   ` Jan Beulich
2017-01-18 11:54                                     ` Roger Pau Monné
2017-01-18 13:25                                       ` Jan Beulich
2017-01-22 18:39                                         ` Boris Ostrovsky
2017-01-23 10:35                                           ` Jan Beulich
2017-01-23 14:28                                             ` Boris Ostrovsky
2017-01-23 15:17                                               ` Jan Beulich
2017-01-23 15:43                                                 ` Boris Ostrovsky
2017-01-23 15:49                                                   ` Boris Ostrovsky
2017-01-23 15:58                                                     ` Jan Beulich
2017-01-23 16:24                                                       ` Boris Ostrovsky
2017-01-23 16:50                                                         ` Roger Pau Monné
2017-01-23 17:05                                                           ` Boris Ostrovsky
2017-01-23 17:14                                                             ` Roger Pau Monné
2017-01-23 18:36                                                               ` Boris Ostrovsky
2017-01-24  7:43                                                                 ` Jan Beulich
2017-01-24 14:15                                                                   ` Boris Ostrovsky
2017-01-23 15:49                                                   ` Jan Beulich
2017-01-18 13:34                                       ` Boris Ostrovsky

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=20170117114341.emewl3vqgpfvc72r@dhcp-3-221.uk.xensource.com \
    --to=roger.pau@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=al.stone@linaro.org \
    --cc=andrew.cooper3@citrix.com \
    --cc=anshul.makkar@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=graeme.gregory@linaro.org \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.