linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	david.vrabel@citrix.com, JGross@suse.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	roger.pau@citrix.com, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 8/8] xen/pvh: Enable CPU hotplug
Date: Thu, 27 Oct 2016 10:25:13 -0400	[thread overview]
Message-ID: <846901a2-06c1-931f-9933-bda4696e2e40@oracle.com> (raw)
In-Reply-To: <d8223127-a8c8-4ff3-59f7-cb98d0f58bba@oracle.com>



On 10/14/2016 03:01 PM, Boris Ostrovsky wrote:
> On 10/14/2016 02:41 PM, Andrew Cooper wrote:
>> On 14/10/16 19:05, Boris Ostrovsky wrote:
>>> PVH guests don't receive ACPI hotplug interrupts and therefore
>>> need to monitor xenstore for CPU hotplug event.
>> Why not?  If they don't, they should.  As we are providing ACPI anyway,
>> we should provide all bits of it.
>
> We don't have IOAPIC, which is how these interrupts are typically
> delivered. I suppose we might be able to specify it as something else.
>
> I'll look into this.


(+Jan)

Yes, we can do this. The main issue is how to deal with event registers 
(i.e FADT.x_pm1a_evt_blk) and AML's PRST region (which specifies online 
CPU map).

Currently these are accessed via IO space and are handled by qemu.

There are a couple of ways to deal with this that I can see.

1. We can implement ioreq handling in the hypervisor, there are only a 
few addresses that need handling.

2. We can implement those registers in memory space and have libxl 
update them them on a hotplug command. This appears to be possible 
because these registers mostly just consume writes without side effects 
so they can be simple memory locations. The one exception is updating 
status bits (they are cleared by writing 1s) but I think we can do this 
from the AML.

Other than that the only other thing is setting up an event channel 
between the toolstack and the guest (either via xenstore or perhaps by 
having a reserved port for SCI).

I have a prototype with (2) (except for the bit clearing part) but I 
want to hear comments on this approach before I write proper patches.

-boris

  reply	other threads:[~2016-10-27 14:25 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-14 18:05 [PATCH 0/8] PVH v2 support Boris Ostrovsky
2016-10-14 18:05 ` [PATCH 1/8] xen/x86: Remove PVH support Boris Ostrovsky
2016-10-14 18:31   ` [Xen-devel] " Konrad Rzeszutek Wilk
2016-10-18 13:46   ` Juergen Gross
2016-10-18 14:45     ` Boris Ostrovsky
2016-10-18 15:33       ` Juergen Gross
2016-10-18 15:42         ` Boris Ostrovsky
2016-10-14 18:05 ` [PATCH 2/8] x86/head: Refactor 32-bit pgtable setup Boris Ostrovsky
2016-10-14 18:31   ` hpa
2016-10-14 18:44     ` Boris Ostrovsky
2016-10-14 19:04       ` hpa
2016-10-14 19:18         ` Boris Ostrovsky
2016-10-31 12:33   ` Boris Ostrovsky
2016-12-01 15:33     ` Boris Ostrovsky
2016-12-02  9:45       ` Ingo Molnar
2016-12-02 14:04         ` Boris Ostrovsky
2016-12-02 16:08           ` Ingo Molnar
2016-12-02 17:52             ` hpa
2016-12-02 19:49               ` Boris Ostrovsky
2016-12-03  5:49                 ` Ingo Molnar
2016-12-03  6:36                   ` hpa
2016-10-14 18:05 ` [PATCH 3/8] xen/pvh: Import PVH-related Xen public interfaces Boris Ostrovsky
2016-10-14 18:34   ` [Xen-devel] " Konrad Rzeszutek Wilk
2016-10-21 10:58   ` Juergen Gross
2016-10-14 18:05 ` [PATCH 4/8] xen/pvh: Bootstrap PVH guest Boris Ostrovsky
2016-10-14 18:38   ` [Xen-devel] " Andrew Cooper
2016-10-14 18:55     ` Boris Ostrovsky
2016-10-14 19:12       ` Andrew Cooper
2016-10-14 19:14   ` Konrad Rzeszutek Wilk
2016-10-14 19:34     ` Boris Ostrovsky
2016-10-14 18:05 ` [PATCH 5/8] xen/pvh: Prevent PVH guests from using PIC, RTC and IOAPIC Boris Ostrovsky
2016-10-14 19:16   ` [Xen-devel] " Konrad Rzeszutek Wilk
2016-10-14 19:37     ` Boris Ostrovsky
2016-10-26 10:42   ` Roger Pau Monné
2016-10-26 14:50     ` Boris Ostrovsky
2016-10-26 15:18       ` Roger Pau Monné
2016-10-26 16:06         ` Boris Ostrovsky
2016-10-14 18:05 ` [PATCH 6/8] xen/pvh: Initialize grant table for PVH guests Boris Ostrovsky
2016-10-14 19:19   ` [Xen-devel] " Konrad Rzeszutek Wilk
2016-10-14 19:43     ` Boris Ostrovsky
2016-10-14 19:51       ` Konrad Rzeszutek Wilk
2016-10-14 20:02         ` Boris Ostrovsky
2016-10-18 16:08           ` Juergen Gross
2016-10-18 16:40             ` Boris Ostrovsky
2016-10-19  5:47               ` Juergen Gross
2016-10-14 18:05 ` [PATCH 7/8] xen/pvh: PVH guests always have PV devices Boris Ostrovsky
2016-10-14 19:17   ` [Xen-devel] " Konrad Rzeszutek Wilk
2016-10-18 15:54   ` Juergen Gross
2016-10-14 18:05 ` [PATCH 8/8] xen/pvh: Enable CPU hotplug Boris Ostrovsky
2016-10-14 18:41   ` [Xen-devel] " Andrew Cooper
2016-10-14 19:01     ` Boris Ostrovsky
2016-10-27 14:25       ` Boris Ostrovsky [this message]
2016-10-27 15:00         ` Andrew Cooper
2016-10-27 16:23           ` 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=846901a2-06c1-931f-9933-bda4696e2e40@oracle.com \
    --to=boris.ostrovsky@oracle.com \
    --cc=JGross@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=david.vrabel@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=roger.pau@citrix.com \
    --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 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).