All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: Julien Grall <julien.grall@arm.com>, Jan Beulich <JBeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: xen/arm: Domain not fully destroyed when using credit2
Date: Tue, 24 Jan 2017 13:53:12 +0100	[thread overview]
Message-ID: <1485262392.32103.52.camel@citrix.com> (raw)
In-Reply-To: <e91a0cb6-acda-ef5e-49f5-f256eae26659@arm.com>


[-- Attachment #1.1: Type: text/plain, Size: 2101 bytes --]

On Tue, 2017-01-24 at 10:50 +0000, Julien Grall wrote:
> On 24/01/2017 08:20, Jan Beulich wrote:
> > > > > On 23.01.17 at 20:42, <julien.grall@arm.com> wrote:
> > > The function domain_destroy will setup the RCU callback
> > > (complete_domain_destroy) by calling call_rcu. call_rcu will add
> > > the
> > > callback into the RCU list and then will may send an IPI (see
> > > force_quiescent_state) if the threshold reached. This IPI is here
> > > to
> > > make sure all CPUs are quiescent before calling the callbacks
> > > (e.g
> > > complete_domain_destroy). In my case, the threshold has not
> > > reached and
> > > therefore an IPI is not sent.
> > 
> > But wait - isn't it the nature of RCU that it may take arbitrary
> > time
> > until the actual call(s) happen(s)?
> 
> Today this arbitrary time could be infinite if an idle pCPU does not 
> receive an interrupt. So some part of domain resource will never be
> freed.
> 
> If I am power-cycling a domain in loop, after some time the
> toolstack 
> will fail to allocate memory because of exhausted resources.
> Previous 
> instance of the domain was not yet fully destroyed (e.g 
> complete_domain_destroy was not called).
> 
Do you have a script and/or some more info for letting me try to
reproduce it (e.g., you say some otf the vCPUs are pinned, which one?
etc)?

I'm a bit curious about why you're saying this is being exposed by
using Credit2. In fact:
 1) I've power-cycled quite a few domains in these last months, while 
    under Credit2, and I don't think I have encountered it on x86;
 2) I see how it may be related to Credit2 being more deterministic 
    and not trying to schedule stuff around pseudo-randomly like 
    Credit1 does... but I'd like to try investigating a bit more.

Thanks and Regards,
Dario
-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 127 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  parent reply	other threads:[~2017-01-24 12:53 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-23 19:42 xen/arm: Domain not fully destroyed when using credit2 Julien Grall
2017-01-24  0:16 ` Stefano Stabellini
2017-01-24 12:52   ` Julien Grall
2017-01-24  8:20 ` Jan Beulich
2017-01-24 10:50   ` Julien Grall
2017-01-24 11:02     ` Jan Beulich
2017-01-24 12:30       ` Julien Grall
2017-01-24 12:53     ` Dario Faggioli [this message]
2017-01-24 13:04       ` Julien Grall
2017-01-24 13:05         ` Julien Grall
2017-01-24 13:19         ` Dario Faggioli
2017-01-24 13:24           ` Julien Grall
2017-01-24 13:40             ` Dario Faggioli
2017-01-24 13:49               ` Julien Grall
2017-01-24 14:16                 ` Dario Faggioli
2017-01-24 15:06                   ` Julien Grall
2017-01-25 11:10                     ` Dario Faggioli
2017-01-25 12:38                       ` Julien Grall
2017-01-25 12:40                         ` Andrew Cooper
2017-01-25 14:23                           ` Julien Grall
2017-01-25 16:00                         ` Dario Faggioli
2017-01-31 16:30                           ` Julien Grall
2017-01-31 22:10                             ` Stefano Stabellini
2017-02-01 18:21                             ` Wei Liu
2017-02-02 11:22                               ` Jan Beulich
2017-02-02 11:53                                 ` Wei Liu
2017-02-02 12:18                                   ` Julien Grall
2017-02-02 12:51                                     ` Dario Faggioli
2017-02-02 13:26                                       ` Julien Grall
2017-02-02 13:32                                         ` Dario Faggioli
2017-03-28 18:30                                           ` Julien Grall
2017-03-30  7:38                                             ` Dario Faggioli
2017-02-02 12:01                                 ` Dario Faggioli

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=1485262392.32103.52.camel@citrix.com \
    --to=dario.faggioli@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=julien.grall@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=tim@xen.org \
    --cc=wei.liu2@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 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.