All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Mackerras <paulus@ozlabs.org>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH 05/19] KVM: PPC: Book3S HV: add a new KVM device for the XIVE native exploitation mode
Date: Wed, 30 Jan 2019 15:29:19 +1100	[thread overview]
Message-ID: <20190130042919.GA27109@blackberry> (raw)
In-Reply-To: <d21664e5-1d9c-5a55-5b83-bf5e6247917a@kaod.org>

On Mon, Jan 28, 2019 at 06:35:34PM +0100, Cédric Le Goater wrote:
> On 1/22/19 6:05 AM, Paul Mackerras wrote:
> > On Mon, Jan 07, 2019 at 07:43:17PM +0100, Cédric Le Goater wrote:
> >> This is the basic framework for the new KVM device supporting the XIVE
> >> native exploitation mode. The user interface exposes a new capability
> >> and a new KVM device to be used by QEMU.
> > 
> > [snip]
> >> @@ -1039,7 +1039,10 @@ static int kvmppc_book3s_init(void)
> >>  #ifdef CONFIG_KVM_XIVE
> >>  	if (xive_enabled()) {
> >>  		kvmppc_xive_init_module();
> >> +		kvmppc_xive_native_init_module();
> >>  		kvm_register_device_ops(&kvm_xive_ops, KVM_DEV_TYPE_XICS);
> >> +		kvm_register_device_ops(&kvm_xive_native_ops,
> >> +					KVM_DEV_TYPE_XIVE);
> > 
> > I think we want tighter conditions on initializing the xive_native
> > stuff and creating the xive device class.  We could have
> > xive_enabled() returning true in a guest, and this code will get
> > called both by PR KVM and HV KVM (and HV KVM no longer implies that we
> > are running bare metal).
> 
> So yes, I gave nested a try with kernel_irqchip=on and the nested hypervisor 
> (L1) obviously crashes trying to call OPAL. I have tighten the test with : 
> 
> 	if (xive_enabled() && !kvmhv_on_pseries()) {
> 
> for now.
> 
> As this is a problem today in 5.0.x, I will send a patch for it if you think

How do you mean this is a problem today in 5.0?  I just tried 5.0-rc1
with kernel_irqchip=on in a nested guest and it works just fine.  What
exactly did you test?

> it is correct. I don't think we should bother taking care of the PR case
> on P9. Should we ? 

We do need to take care of PR KVM on P9, since it is the only form of
nested KVM that works inside a host in HPT mode.

Paul.

WARNING: multiple messages have this Message-ID (diff)
From: Paul Mackerras <paulus@ozlabs.org>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH 05/19] KVM: PPC: Book3S HV: add a new KVM device for the XIVE native exploitation mode
Date: Wed, 30 Jan 2019 04:29:19 +0000	[thread overview]
Message-ID: <20190130042919.GA27109@blackberry> (raw)
In-Reply-To: <d21664e5-1d9c-5a55-5b83-bf5e6247917a@kaod.org>

On Mon, Jan 28, 2019 at 06:35:34PM +0100, Cédric Le Goater wrote:
> On 1/22/19 6:05 AM, Paul Mackerras wrote:
> > On Mon, Jan 07, 2019 at 07:43:17PM +0100, Cédric Le Goater wrote:
> >> This is the basic framework for the new KVM device supporting the XIVE
> >> native exploitation mode. The user interface exposes a new capability
> >> and a new KVM device to be used by QEMU.
> > 
> > [snip]
> >> @@ -1039,7 +1039,10 @@ static int kvmppc_book3s_init(void)
> >>  #ifdef CONFIG_KVM_XIVE
> >>  	if (xive_enabled()) {
> >>  		kvmppc_xive_init_module();
> >> +		kvmppc_xive_native_init_module();
> >>  		kvm_register_device_ops(&kvm_xive_ops, KVM_DEV_TYPE_XICS);
> >> +		kvm_register_device_ops(&kvm_xive_native_ops,
> >> +					KVM_DEV_TYPE_XIVE);
> > 
> > I think we want tighter conditions on initializing the xive_native
> > stuff and creating the xive device class.  We could have
> > xive_enabled() returning true in a guest, and this code will get
> > called both by PR KVM and HV KVM (and HV KVM no longer implies that we
> > are running bare metal).
> 
> So yes, I gave nested a try with kernel_irqchip=on and the nested hypervisor 
> (L1) obviously crashes trying to call OPAL. I have tighten the test with : 
> 
> 	if (xive_enabled() && !kvmhv_on_pseries()) {
> 
> for now.
> 
> As this is a problem today in 5.0.x, I will send a patch for it if you think

How do you mean this is a problem today in 5.0?  I just tried 5.0-rc1
with kernel_irqchip=on in a nested guest and it works just fine.  What
exactly did you test?

> it is correct. I don't think we should bother taking care of the PR case
> on P9. Should we ? 

We do need to take care of PR KVM on P9, since it is the only form of
nested KVM that works inside a host in HPT mode.

Paul.

  reply	other threads:[~2019-01-30  4:29 UTC|newest]

Thread overview: 271+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-07 18:43 [PATCH 00/19] KVM: PPC: Book3S HV: add XIVE native exploitation mode Cédric Le Goater
2019-01-07 18:43 ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 01/19] powerpc/xive: export flags for the XIVE native exploitation mode hcalls Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-09  3:33   ` David Gibson
2019-01-09  3:33     ` David Gibson
2019-01-09 13:08   ` Michael Ellerman
2019-01-09 13:08     ` Michael Ellerman
2019-01-09 13:38     ` Cédric Le Goater
2019-01-09 13:38       ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 02/19] powerpc/xive: add OPAL extensions for the XIVE native exploitation support Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-09  4:26   ` David Gibson
2019-01-09  4:26     ` David Gibson
2019-01-07 18:43 ` [PATCH 03/19] KVM: PPC: Book3S HV: check the IRQ controller type Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-09  4:27   ` David Gibson
2019-01-09  4:27     ` David Gibson
2019-01-22  4:56   ` Paul Mackerras
2019-01-22  4:56     ` Paul Mackerras
2019-01-23 16:24     ` Cédric Le Goater
2019-01-23 16:24       ` Cédric Le Goater
2019-02-04  0:50       ` David Gibson
2019-02-04  0:50         ` David Gibson
2019-02-04 10:16         ` Cédric Le Goater
2019-02-04 10:16           ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 04/19] KVM: PPC: Book3S HV: export services for the XIVE native exploitation device Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-11  4:09   ` David Gibson
2019-01-11  4:09     ` David Gibson
2019-01-07 18:43 ` [PATCH 05/19] KVM: PPC: Book3S HV: add a new KVM device for the XIVE native exploitation mode Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-22  5:05   ` Paul Mackerras
2019-01-22  5:05     ` Paul Mackerras
2019-01-23 16:28     ` Cédric Le Goater
2019-01-23 16:28       ` Cédric Le Goater
2019-01-28 17:35     ` Cédric Le Goater
2019-01-28 17:35       ` Cédric Le Goater
2019-01-30  4:29       ` Paul Mackerras [this message]
2019-01-30  4:29         ` Paul Mackerras
2019-01-30  7:01         ` Cédric Le Goater
2019-01-30  7:01           ` Cédric Le Goater
2019-01-31  3:01           ` Paul Mackerras
2019-01-31  3:01             ` Paul Mackerras
2019-02-01 17:03             ` Cédric Le Goater
2019-02-01 17:03               ` Cédric Le Goater
2019-02-04  4:25   ` David Gibson
2019-02-04  4:25     ` David Gibson
2019-02-04 11:19     ` Cédric Le Goater
2019-02-04 11:19       ` Cédric Le Goater
2019-02-05  5:26       ` David Gibson
2019-02-05  5:26         ` David Gibson
2019-01-07 18:43 ` [PATCH 06/19] KVM: PPC: Book3S HV: add a GET_ESB_FD control to the XIVE native device Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-22  5:09   ` Paul Mackerras
2019-01-22  5:09     ` Paul Mackerras
2019-01-23 16:48     ` Cédric Le Goater
2019-01-23 16:48       ` Cédric Le Goater
2019-02-04  4:45   ` David Gibson
2019-02-04  4:45     ` David Gibson
2019-02-04 11:30     ` Cédric Le Goater
2019-02-04 11:30       ` Cédric Le Goater
2019-02-05  5:28       ` David Gibson
2019-02-05  5:28         ` David Gibson
2019-02-05 12:55         ` Cédric Le Goater
2019-02-05 12:55           ` Cédric Le Goater
2019-02-06  1:23           ` David Gibson
2019-02-06  1:23             ` David Gibson
2019-02-06  7:21             ` Cédric Le Goater
2019-02-06  7:21               ` Cédric Le Goater
2019-02-07  2:49               ` David Gibson
2019-02-07  2:49                 ` David Gibson
2019-02-07  9:03                 ` Cédric Le Goater
2019-02-07  9:03                   ` Cédric Le Goater
2019-02-07  9:03                   ` Cédric Le Goater
2019-02-08  5:15                   ` David Gibson
2019-02-08  5:15                     ` David Gibson
2019-02-08  7:58                     ` Cédric Le Goater
2019-02-08  7:58                       ` Cédric Le Goater
2019-02-08 21:53                       ` Paul Mackerras
2019-02-08 21:53                         ` Paul Mackerras
2019-02-09  9:41                         ` Cédric Le Goater
2019-02-09  9:41                           ` Cédric Le Goater
2019-02-11  2:38                           ` David Gibson
2019-02-11  2:38                             ` David Gibson
2019-02-11  6:42                             ` Benjamin Herrenschmidt
2019-02-11  6:42                               ` Benjamin Herrenschmidt
2019-02-12 22:07                               ` Cédric Le Goater
2019-02-12 22:07                                 ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 07/19] KVM: PPC: Book3S HV: add a GET_TIMA_FD control to " Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 08/19] KVM: PPC: Book3S HV: add a VC_BASE control to the " Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-22  5:14   ` Paul Mackerras
2019-01-22  5:14     ` Paul Mackerras
2019-01-23 16:56     ` Cédric Le Goater
2019-01-23 16:56       ` Cédric Le Goater
2019-02-04  4:49       ` David Gibson
2019-02-04  4:49         ` David Gibson
2019-02-04 15:36         ` Cédric Le Goater
2019-02-04 15:36           ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 09/19] KVM: PPC: Book3S HV: add a SET_SOURCE " Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  4:57   ` David Gibson
2019-02-04  4:57     ` David Gibson
2019-02-04 19:07     ` Cédric Le Goater
2019-02-04 19:07       ` Cédric Le Goater
2019-02-05  5:35       ` David Gibson
2019-02-05  5:35         ` David Gibson
2019-02-05 13:39         ` Cédric Le Goater
2019-02-05 13:39           ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 10/19] KVM: PPC: Book3S HV: add a EISN attribute to kvmppc_xive_irq_state Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 11/19] KVM: PPC: Book3S HV: add support for the XIVE native exploitation mode hcalls Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-01-22  5:23   ` Paul Mackerras
2019-01-22  5:23     ` Paul Mackerras
2019-01-23  6:44     ` Benjamin Herrenschmidt
2019-01-23  6:44       ` Benjamin Herrenschmidt
2019-01-23  8:48       ` Cédric Le Goater
2019-01-23  8:48         ` Cédric Le Goater
2019-01-23 10:26         ` Paul Mackerras
2019-01-23 10:26           ` Paul Mackerras
2019-01-23 10:48           ` Cédric Le Goater
2019-01-23 10:48             ` Cédric Le Goater
2019-01-23 21:23           ` Benjamin Herrenschmidt
2019-01-23 21:23             ` Benjamin Herrenschmidt
2019-01-07 18:43 ` [PATCH 12/19] KVM: PPC: Book3S HV: record guest queue page address Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:15   ` David Gibson
2019-02-04  5:15     ` David Gibson
2019-02-04 15:37     ` Cédric Le Goater
2019-02-04 15:37       ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 13/19] KVM: PPC: Book3S HV: add a SYNC control for the XIVE native migration Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:17   ` David Gibson
2019-02-04  5:17     ` David Gibson
2019-02-04 15:39     ` Cédric Le Goater
2019-02-04 15:39       ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 14/19] KVM: PPC: Book3S HV: add a control to make the XIVE EQ pages dirty Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:18   ` David Gibson
2019-02-04  5:18     ` David Gibson
2019-02-04 15:46     ` Cédric Le Goater
2019-02-04 15:46       ` Cédric Le Goater
2019-02-05  5:30       ` David Gibson
2019-02-05  5:30         ` David Gibson
2019-01-07 18:43 ` [PATCH 15/19] KVM: PPC: Book3S HV: add get/set accessors for the source configuration Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:21   ` David Gibson
2019-02-04  5:21     ` David Gibson
2019-02-04 16:07     ` Cédric Le Goater
2019-02-04 16:07       ` Cédric Le Goater
2019-02-05  5:32       ` David Gibson
2019-02-05  5:32         ` David Gibson
2019-02-05 13:03         ` Cédric Le Goater
2019-02-05 13:03           ` Cédric Le Goater
2019-02-06  1:23           ` David Gibson
2019-02-06  1:23             ` David Gibson
2019-02-06  1:24             ` David Gibson
2019-02-06  1:24               ` David Gibson
2019-02-06  7:07               ` Cédric Le Goater
2019-02-06  7:07                 ` Cédric Le Goater
2019-02-07  2:48                 ` David Gibson
2019-02-07  2:48                   ` David Gibson
2019-02-07  9:13                   ` Cédric Le Goater
2019-02-07  9:13                     ` Cédric Le Goater
2019-02-08  5:15                     ` David Gibson
2019-02-08  5:15                       ` David Gibson
2019-02-14 16:50                       ` Cédric Le Goater
2019-02-14 16:50                         ` Cédric Le Goater
2019-01-07 18:43 ` [PATCH 16/19] KVM: PPC: Book3S HV: add get/set accessors for the EQ configuration Cédric Le Goater
2019-01-07 18:43   ` Cédric Le Goater
2019-02-04  5:24   ` David Gibson
2019-02-04  5:24     ` David Gibson
2019-02-05 17:45     ` Cédric Le Goater
2019-02-05 17:45       ` Cédric Le Goater
2019-01-07 19:10 ` [PATCH 17/19] KVM: PPC: Book3S HV: add get/set accessors for the VP XIVE state Cédric Le Goater
2019-01-07 19:10   ` Cédric Le Goater
2019-01-07 19:10   ` [PATCH 18/19] KVM: PPC: Book3S HV: add passthrough support Cédric Le Goater
2019-01-07 19:10     ` Cédric Le Goater
2019-01-22  5:26     ` Paul Mackerras
2019-01-22  5:26       ` Paul Mackerras
2019-01-23  6:45       ` Benjamin Herrenschmidt
2019-01-23  6:45         ` Benjamin Herrenschmidt
2019-01-23 10:30         ` Paul Mackerras
2019-01-23 10:30           ` Paul Mackerras
2019-01-23 11:07           ` Cédric Le Goater
2019-01-23 11:07             ` Cédric Le Goater
2019-01-28  6:13             ` Paul Mackerras
2019-01-28  6:13               ` Paul Mackerras
2019-01-28 18:26               ` Cédric Le Goater
2019-01-28 18:26                 ` Cédric Le Goater
2019-01-29  2:45                 ` Paul Mackerras
2019-01-29  2:45                   ` Paul Mackerras
2019-01-29 13:47                   ` Cédric Le Goater
2019-01-29 13:47                     ` Cédric Le Goater
2019-01-30  6:20                     ` Paul Mackerras
2019-01-30  6:20                       ` Paul Mackerras
2019-01-30 15:54                       ` Cédric Le Goater
2019-01-30 15:54                         ` Cédric Le Goater
2019-01-31  2:48                         ` Paul Mackerras
2019-01-31  2:48                           ` Paul Mackerras
2019-01-29  4:12                 ` Paul Mackerras
2019-01-29  4:12                   ` Paul Mackerras
2019-01-29 17:44                   ` Cédric Le Goater
2019-01-29 17:44                     ` Cédric Le Goater
2019-01-30  5:55                     ` Paul Mackerras
2019-01-30  5:55                       ` Paul Mackerras
2019-01-30  7:06                       ` Cédric Le Goater
2019-01-30  7:06                         ` Cédric Le Goater
2019-01-23 21:25           ` Benjamin Herrenschmidt
2019-01-23 21:25             ` Benjamin Herrenschmidt
2019-01-24  8:41             ` Cédric Le Goater
2019-01-24  8:41               ` Cédric Le Goater
2019-01-28  4:43             ` Paul Mackerras
2019-01-28  4:43               ` Paul Mackerras
2019-01-29 13:46               ` Cédric Le Goater
2019-01-29 13:46                 ` Cédric Le Goater
2019-01-07 19:10   ` [PATCH 19/19] KVM: introduce a KVM_DELETE_DEVICE ioctl Cédric Le Goater
2019-01-07 19:10     ` Cédric Le Goater
2019-01-22  5:42     ` Paul Mackerras
2019-01-22  5:42       ` Paul Mackerras
2019-01-23 18:39       ` Cédric Le Goater
2019-01-23 18:39         ` Cédric Le Goater
2019-01-23 21:32         ` Benjamin Herrenschmidt
2019-01-23 21:32           ` Benjamin Herrenschmidt
2019-02-04  5:26   ` [PATCH 17/19] KVM: PPC: Book3S HV: add get/set accessors for the VP XIVE state David Gibson
2019-02-04  5:26     ` David Gibson
2019-02-04 18:57     ` Cédric Le Goater
2019-02-04 18:57       ` Cédric Le Goater
2019-02-05  5:33       ` David Gibson
2019-02-05  5:33         ` David Gibson
2019-02-05 11:58         ` Cédric Le Goater
2019-02-05 11:58           ` Cédric Le Goater
2019-02-06  1:19           ` David Gibson
2019-02-06  1:19             ` David Gibson
2019-01-22  4:46 ` [PATCH 00/19] KVM: PPC: Book3S HV: add XIVE native exploitation mode Paul Mackerras
2019-01-22  4:46   ` Paul Mackerras
2019-01-23 19:07   ` Cédric Le Goater
2019-01-23 19:07     ` Cédric Le Goater
2019-01-23 21:35     ` Benjamin Herrenschmidt
2019-01-23 21:35       ` Benjamin Herrenschmidt
2019-01-26  8:25       ` Cédric Le Goater
2019-01-26  8:25         ` Cédric Le Goater
2019-02-04  5:36         ` David Gibson
2019-02-04  5:36           ` David Gibson
2019-02-05 11:31           ` Cédric Le Goater
2019-02-05 11:31             ` Cédric Le Goater
2019-02-05 22:13             ` Paul Mackerras
2019-02-05 22:13               ` Paul Mackerras
2019-02-06  1:18               ` David Gibson
2019-02-06  1:18                 ` David Gibson
2019-02-06  7:35                 ` Cédric Le Goater
2019-02-06  7:35                   ` Cédric Le Goater
2019-02-07  2:51                   ` David Gibson
2019-02-07  2:51                     ` David Gibson
2019-02-07  8:31                     ` Cédric Le Goater
2019-02-07  8:31                       ` Cédric Le Goater
2019-02-08  5:07                       ` David Gibson
2019-02-08  5:07                         ` David Gibson
2019-02-08  7:38                         ` Cédric Le Goater
2019-02-08  7:38                           ` Cédric Le Goater
2019-01-28  5:51     ` Paul Mackerras
2019-01-28  5:51       ` Paul Mackerras
2019-01-29 13:51       ` Cédric Le Goater
2019-01-29 13:51         ` Cédric Le Goater
2019-01-30  5:40         ` Paul Mackerras
2019-01-30  5:40           ` Paul Mackerras
2019-01-30 15:36           ` Cédric Le Goater
2019-01-30 15:36             ` Cédric Le Goater

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=20190130042919.GA27109@blackberry \
    --to=paulus@ozlabs.org \
    --cc=clg@kaod.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.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.