xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: Jan Beulich <JBeulich@suse.com>,
	Julien Grall <julien.grall@arm.com>,
	Wei Liu <wei.liu2@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	AndrewCooper <andrew.cooper3@citrix.com>,
	Tim Deegan <tim@xen.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: xen/arm: Domain not fully destroyed when using credit2
Date: Thu, 2 Feb 2017 13:01:52 +0100	[thread overview]
Message-ID: <1486036912.18830.33.camel@citrix.com> (raw)
In-Reply-To: <5893249D0200007800136139@prv-mh.provo.novell.com>


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

On Thu, 2017-02-02 at 04:22 -0700, Jan Beulich wrote:

> On 01.02.17 at 19:21, <wei.liu2@citrix.com> wrote:

> > On Tue, Jan 31, 2017 at 04:30:50PM +0000, Julien Grall wrote:

> > > Yeah, even the tiny RCU code is quite complex :/. I've looked at 
> > > our RCUcode and noticed there is a link in the header to [1].
> > > 
> > > It seems to be a documentation about the RCU code we used. From
> > > my
> > > understanding of the "RCU Implementations", the authors are
> > > expecting a
> > > timer to kick periodically pCPU and check if there is some RCU
> > > work pending.

> > Worth checking all the RCU docs in Linux (Documentation/RCU).
> > 
> > I think there are descriptions about idle or no-tick variants.
>
It surely is worth, but bearing in mind that, as said before, Linux
RCUs are indeed more powerful than what we have, but also much much
much much more complex than what we probably need.

And (for Julien), perhaps it's me, but I don't think I see references
or hints at using a timer in the docs you linked, nor on other RCU doc
material.

As a matter of fact, I agree with Jan, i.e.,

> Isn't all we need an rcu_idle_{enter,exit}() implementation (and of
> course calls to them placed where needed)?
> 
This is what I think we're missing. And, AFAIUI, it's sort of similar
to what Stefano (I think) was saying, that a CPU going idle is a step
toward grace period, because rcu critical sections can't occur on it.

As per what Julien said about softirqs (which also looks right to me),
this is how Linux handles the issue:

http://lxr.free-electrons.com/source/kernel/rcu/tree.c#L733
/**
 * rcu_idle_enter - inform RCU that current CPU is entering idle
 *
 * Enter idle mode, in other words, -leave- the mode in which RCU
 * read-side critical sections can occur.  (Though RCU read-side
 * critical sections can occur in irq handlers in idle, a possibility
 * handled by irq_enter() and irq_exit().)
 */

So we may also need rcu_irq_enter() and rcu_irq_exit().

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-02-02 12:02 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
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 [this message]

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=1486036912.18830.33.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 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).