qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kurz <groug@kaod.org>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH 5/7] spapr/xics: Configure number of servers in KVM
Date: Thu, 3 Oct 2019 14:55:18 +0200	[thread overview]
Message-ID: <20191003145518.302b5bd6@bahia.lan> (raw)
In-Reply-To: <f73f91b3-175f-b0c5-6ebb-93cff15940e6@kaod.org>

On Thu, 3 Oct 2019 14:29:46 +0200
Cédric Le Goater <clg@kaod.org> wrote:

> On 03/10/2019 14:01, Greg Kurz wrote:
> > The XICS-on-XIVE KVM devices now has an attribute to configure the number
> > of interrupt servers. This allows to greatly optimize the usage of the VP
> > space in the XIVE HW, and thus to start a lot more VMs.
> > 
> > Only set this attribute if available in order to support older POWER9 KVM
> > and pre-POWER9 XICS KVM devices.
> > 
> > The XICS-on-XIVE KVM device now reports the exhaustion of VPs upon the
> > connection of the first VCPU. Check that in order to have a chance to
> > provide an hint to the user.
> 
> That part would have been better in its own patch. Simpler to review.
>  

Yeah, possibly... on the other hand, it's only two fairly simple
hunks. :)

> > Signed-off-by: Greg Kurz <groug@kaod.org>
> 
> Anyhow, if you split or not :
> 
> Reviewed-by: Cédric Le Goater <clg@kaod.org>
> 
> > ---
> >  hw/intc/xics_kvm.c |   24 ++++++++++++++++++++++--
> >  1 file changed, 22 insertions(+), 2 deletions(-)
> > 
> > diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c
> > index ba90d6dc966c..12d9524cc432 100644
> > --- a/hw/intc/xics_kvm.c
> > +++ b/hw/intc/xics_kvm.c
> > @@ -165,8 +165,15 @@ void icp_kvm_realize(DeviceState *dev, Error **errp)
> >  
> >      ret = kvm_vcpu_enable_cap(cs, KVM_CAP_IRQ_XICS, 0, kernel_xics_fd, vcpu_id);
> >      if (ret < 0) {
> > -        error_setg(errp, "Unable to connect CPU%ld to kernel XICS: %s", vcpu_id,
> > -                   strerror(errno));
> > +        Error *local_err = NULL;
> > +
> > +        error_setg(&local_err, "Unable to connect CPU%ld to kernel XICS: %s",
> > +                   vcpu_id, strerror(errno));
> > +        if (errno == ENOSPC) {
> > +            error_append_hint(&local_err, "Try -smp maxcpus=N with N < %u\n",
> > +                              MACHINE(qdev_get_machine())->smp.max_cpus);
> > +        }
> > +        error_propagate(errp, local_err);
> >          return;
> >      }
> >      enabled_icp = g_malloc(sizeof(*enabled_icp));
> > @@ -344,6 +351,7 @@ void ics_kvm_set_irq(ICSState *ics, int srcno, int val)
> >  
> >  int xics_kvm_connect(SpaprMachineState *spapr, Error **errp)
> >  {
> > +    ICSState *ics = spapr->ics;
> >      int rc;
> >      CPUState *cs;
> >      Error *local_err = NULL;
> > @@ -397,6 +405,18 @@ int xics_kvm_connect(SpaprMachineState *spapr, Error **errp)
> >          goto fail;
> >      }
> >  
> > +    /* Tell KVM about the # of VCPUs we may have (POWER9 and newer only) */
> > +    if (kvm_device_check_attr(rc, KVM_DEV_XICS_GRP_CTRL,
> > +                              KVM_DEV_XICS_NR_SERVERS)) {
> > +        uint32_t nr_servers = xics_nr_servers(ics->xics);
> > +
> > +        if (kvm_device_access(rc, KVM_DEV_XICS_GRP_CTRL,
> > +                              KVM_DEV_XICS_NR_SERVERS, &nr_servers, true,
> > +                              &local_err)) {
> > +            goto fail;
> > +        }
> > +    }
> > +
> >      kernel_xics_fd = rc;
> >      kvm_kernel_irqchip = true;
> >      kvm_msi_via_irqfd_allowed = true;
> > 
> 



  reply	other threads:[~2019-10-03 12:56 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-03 12:00 [PATCH 0/7] spapr: Use less XIVE HW resources in KVM Greg Kurz
2019-10-03 12:00 ` [PATCH 1/7] spapr, xics: Get number of servers with a XICSFabricClass method Greg Kurz
2019-10-03 12:24   ` Cédric Le Goater
2019-10-03 12:49     ` Greg Kurz
2019-10-03 12:58       ` Cédric Le Goater
2019-10-03 13:02         ` Greg Kurz
2019-10-03 13:19           ` Cédric Le Goater
2019-10-03 13:41             ` Greg Kurz
2019-10-03 13:59               ` Cédric Le Goater
2019-10-03 14:58                 ` Greg Kurz
2019-10-03 12:01 ` [PATCH 2/7] spapr, xive: Turn "nr-ends" property into "nr-servers" property Greg Kurz
2019-10-03 12:21   ` Cédric Le Goater
2019-10-03 12:44     ` Greg Kurz
2019-10-04  4:07   ` David Gibson
2019-10-04  5:53     ` Cédric Le Goater
2019-10-04  6:52       ` Greg Kurz
2019-10-04  7:27         ` Cédric Le Goater
2019-10-04  6:51     ` Greg Kurz
2019-10-05 10:23       ` David Gibson
2019-10-03 12:01 ` [PATCH 3/7] spapr, xics, xive: Drop nr_servers argument in DT-related functions Greg Kurz
2019-10-03 12:25   ` Cédric Le Goater
2019-10-03 12:52     ` Greg Kurz
2019-10-03 12:01 ` [PATCH RFC 4/7] linux-headers: Update against 5.3-rc2 Greg Kurz
2019-10-03 12:01 ` [PATCH 5/7] spapr/xics: Configure number of servers in KVM Greg Kurz
2019-10-03 12:29   ` Cédric Le Goater
2019-10-03 12:55     ` Greg Kurz [this message]
2019-10-03 12:01 ` [PATCH 6/7] spapr/xive: " Greg Kurz
2019-10-03 12:30   ` Cédric Le Goater
2019-10-03 12:02 ` [PATCH 7/7] spapr: Set VSMT to smp_threads by default Greg Kurz
2019-10-14  6:12   ` David Gibson
2019-10-14 11:31     ` Greg Kurz

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=20191003145518.302b5bd6@bahia.lan \
    --to=groug@kaod.org \
    --cc=clg@kaod.org \
    --cc=david@gibson.dropbear.id.au \
    --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).