From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: wei.liu2@citrix.com, Andrew Cooper <andrew.cooper3@citrix.com>,
ian.jackson@eu.citrix.com, xen-devel <xen-devel@lists.xen.org>,
Paul Durrant <paul.durrant@citrix.com>,
roger.pau@citrix.com
Subject: Re: [PATCH v3 01/11] x86/domctl: Add XEN_DOMCTL_set_avail_vcpus
Date: Wed, 23 Nov 2016 08:33:33 -0500 [thread overview]
Message-ID: <b274b37b-deb1-e38c-98aa-6164ba123c97@oracle.com> (raw)
In-Reply-To: <58355CE5020000780012123F@prv-mh.provo.novell.com>
On 11/23/2016 03:09 AM, Jan Beulich wrote:
>>>> On 23.11.16 at 00:47, <boris.ostrovsky@oracle.com> wrote:
>> I have a prototype that replaces XEN_DOMCTL_set_avail_vcpus with
>> XEN_DOMCTL_acpi_access and it seems to work OK. The toolstack needs to
>> perform two (or more, if >32 VCPUs) hypercalls and the logic on the
>> hypervisor side is almost the same as the ioreq handling that this
>> series added in patch 8.
> Why would there be multiple hypercalls needed? (I guess I may need
> to see the prototype to understand.)
The interface is
#define XEN_DOMCTL_acpi_access 81
struct xen_domctl_acpi_access {
uint8_t rw;
uint8_t bytes;
uint16_t port;
uint32_t val;
};
And so as an example, to add VCPU1 to already existing VCPU0:
/* Update the VCPU map*/
val = 3;
xc_acpi_access(ctx->xch, domid, WRITE, 0xaf00, 1/*bytes*/, &val);
/* Set event status in GPE block */
val= 1 << 2;
xc_acpi_access(ctx->xch, domid, WRITE, 0xafe0, 1/*bytes*/, &val);
If we want to support ACPI registers in memory space then we need to add
'uint8_t space' and extend val to uint64_t. We also may want to make val
a uint64_t to have fewer hypercalls for VCPU map updates. (We could, in
fact, pass a pointer to the map but I think a scalar is cleaner.)
>
>> However, I now realized that this interface will not be available to PV
>> guests (and it will only become available to HVM guests when we move
>> hotplug from qemu to hypervisor). And it's x86-specific.
> As you make clear below, the PV aspect is likely a non-issue. But
> why is this x86-specific? It's generic ACPI, isn't it?
Mostly because I don't know how ARM handles hotplug. I was told that ARM
does not use PRST, it uses PSCI, which I am not familiar with.
The interface is generic enough to be used by any architecture.
-boris
>
>
>> This means that PV guests will not know what the number of available
>> VCPUs is and therefore we will not be able to enforce it. OTOH we don't
>> know how to do that anyway since PV guests bring up all VCPUs and then
>> offline them.
>>
>> -boris
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-11-23 13:33 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-21 21:00 [PATCH v3 00/11] PVH VCPU hotplug support Boris Ostrovsky
2016-11-21 21:00 ` [PATCH v3 01/11] x86/domctl: Add XEN_DOMCTL_set_avail_vcpus Boris Ostrovsky
2016-11-22 10:31 ` Jan Beulich
2016-11-22 10:39 ` Jan Beulich
2016-11-22 12:34 ` Boris Ostrovsky
2016-11-22 13:59 ` Jan Beulich
2016-11-22 14:37 ` Boris Ostrovsky
2016-11-22 15:07 ` Jan Beulich
2016-11-22 15:43 ` Boris Ostrovsky
2016-11-22 16:01 ` Jan Beulich
[not found] ` <a4ac4c28-833b-df5f-ce34-1fa72f7c4cd2@oracle.com>
2016-11-22 23:47 ` Boris Ostrovsky
2016-11-23 8:09 ` Jan Beulich
2016-11-23 13:33 ` Boris Ostrovsky [this message]
2016-11-23 13:58 ` Jan Beulich
2016-11-23 14:16 ` Boris Ostrovsky
2016-11-25 18:16 ` Boris Ostrovsky
2016-11-28 7:59 ` Jan Beulich
2016-11-22 12:19 ` Boris Ostrovsky
2016-11-21 21:00 ` [PATCH v3 02/11] acpi: Define ACPI IO registers for PVH guests Boris Ostrovsky
2016-11-22 10:37 ` Jan Beulich
2016-11-22 12:28 ` Boris Ostrovsky
2016-11-22 14:07 ` Jan Beulich
2016-11-22 14:53 ` Boris Ostrovsky
2016-11-22 15:13 ` Jan Beulich
2016-11-22 15:52 ` Boris Ostrovsky
2016-11-22 16:02 ` Jan Beulich
2016-11-21 21:00 ` [PATCH v3 03/11] pvh: Set online VCPU map to avail_vcpus Boris Ostrovsky
2016-11-21 21:00 ` [PATCH v3 04/11] acpi: Make pmtimer optional in FADT Boris Ostrovsky
2016-11-21 21:00 ` [PATCH v3 05/11] acpi: Power and Sleep ACPI buttons are not emulated for PVH guests Boris Ostrovsky
2016-11-21 21:00 ` [PATCH v3 06/11] acpi: PVH guests need _E02 method Boris Ostrovsky
2016-11-22 9:13 ` Jan Beulich
2016-11-22 20:20 ` Konrad Rzeszutek Wilk
2016-11-21 21:00 ` [PATCH v3 07/11] pvh/ioreq: Install handlers for ACPI-related PVH IO accesses Boris Ostrovsky
2016-11-22 11:34 ` Jan Beulich
2016-11-22 12:38 ` Boris Ostrovsky
2016-11-22 14:08 ` Jan Beulich
2016-11-28 15:16 ` Boris Ostrovsky
2016-11-28 15:48 ` Roger Pau Monné
2016-11-21 21:00 ` [PATCH v3 08/11] pvh/acpi: Handle ACPI accesses for PVH guests Boris Ostrovsky
2016-11-22 14:11 ` Paul Durrant
2016-11-22 15:01 ` Jan Beulich
2016-11-22 15:30 ` Boris Ostrovsky
2016-11-22 16:05 ` Jan Beulich
2016-11-22 16:33 ` Boris Ostrovsky
2016-11-21 21:00 ` [PATCH v3 09/11] events/x86: Define SCI virtual interrupt Boris Ostrovsky
2016-11-22 15:25 ` Jan Beulich
2016-11-22 15:57 ` Boris Ostrovsky
2016-11-22 16:07 ` Jan Beulich
2016-11-21 21:00 ` [PATCH v3 10/11] pvh: Send an SCI on VCPU hotplug event Boris Ostrovsky
2016-11-22 15:32 ` Jan Beulich
2016-11-21 21:00 ` [PATCH v3 11/11] docs: Describe PVHv2's VCPU hotplug procedure 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=b274b37b-deb1-e38c-98aa-6164ba123c97@oracle.com \
--to=boris.ostrovsky@oracle.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=paul.durrant@citrix.com \
--cc=roger.pau@citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.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).