qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] spapr: change default interrupt mode back to 'xics'


From: Greg Kurz
Subject: Re: [PATCH] spapr: change default interrupt mode back to 'xics'
Date: Thu, 7 Nov 2019 18:12:49 +0100

On Wed, 6 Nov 2019 22:36:24 +0100
David Gibson <address@hidden> wrote:

> On Wed, Nov 06, 2019 at 09:28:20AM +0100, Greg Kurz wrote:
> > On Tue,  5 Nov 2019 15:17:44 -0600
> > Lijun Pan <address@hidden> wrote:
> > 
> > > The hugetlbfs hugepage leakage is found under following test procedures:
> > > 1. configure hugetlbfs to back guest memory with '-mem-path 
> > > /dev/hugepages'
> > > 2. hot plug a vcpu and remove it, then quit the guest.
> > > 3. hugepage leaks found on the host
> > > 
> > > git bisect points to the first bad commit: bd94bc064.
> > > 
> > 
> > Hmmm... Have you investigated some more to understand what's really
> > happening here ? Is it a problem with QEMU or KVM ? Does it also happen
> > if you don't use the in-kernel irqchip ?
> > 
> > Please provide more details because reverting to XICS looks like a big
> > hammer/workaround to me.
> 
> Quite.  This also changes the behaviour for the existing pseries-4.1
> machine type, which is absolutely a no go.
> 

Yeah I didn't even mention that. This workaround would need some
more care in order to be applied to newer machine types only.

> We need to fix this properly.
> 

Right. I've started to have a look. I could easily reproduce the issue with
the scenario described above. A few more details though:
- doesn't happen with kernel-irqchip=off
- happens with ic-mode=xive or ic-mode=dual, not with ic-mode=xics
- only happens when removing a vCPU, either cold plugged or hot plugged

Note that the leak can also be observed by resetting the machine instead
of removing a vCPU. The leak is one huge page (2M in my setup) per vCPU.

I still need to do some more digging but I'm starting to suspect EQs
which are allocated by the guest on a per-CPU basis.

> > 
> > > Fixes: bd94bc064 ("spapr: change default interrupt mode to 'dual'")
> > > Cc: C├ędric Le Goater <address@hidden>
> > > Cc: David Gibson <address@hidden>
> > > Signed-off-by: Lijun Pan <address@hidden>
> > > ---
> > >  hw/ppc/spapr.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > > index 94f9d27096..26b064fb6c 100644
> > > --- a/hw/ppc/spapr.c
> > > +++ b/hw/ppc/spapr.c
> > > @@ -4437,7 +4437,7 @@ static void spapr_machine_class_init(ObjectClass 
> > > *oc, void *data)
> > >      smc->default_caps.caps[SPAPR_CAP_LARGE_DECREMENTER] = SPAPR_CAP_ON;
> > >      smc->default_caps.caps[SPAPR_CAP_CCF_ASSIST] = SPAPR_CAP_OFF;
> > >      spapr_caps_add_properties(smc, &error_abort);
> > > -    smc->irq = &spapr_irq_dual;
> > > +    smc->irq = &spapr_irq_xics;
> > >      smc->dr_phb_enabled = true;
> > >      smc->linux_pci_probe = true;
> > >      smc->smp_threads_vsmt = true;
> > 
> 

Attachment: pgpeqT8cfvlwO.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]