From: Dario Faggioli <dfaggioli@suse.com>
To: "Julien Grall" <julien@xen.org>,
"Anders Törnqvist" <anders.tornqvist@codiax.se>,
xen-devel@lists.xenproject.org,
"Stefano Stabellini" <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Juergen Gross <jgross@suse.com>
Subject: Re: Null scheduler and vwfi native problem
Date: Wed, 03 Feb 2021 08:31:19 +0100 [thread overview]
Message-ID: <501664dbdb736eaa4d9c05255dedfd7ad3e694fa.camel@suse.com> (raw)
In-Reply-To: <7f2ec84a-9814-ffb1-0940-e936a80afbbb@xen.org>
[-- Attachment #1: Type: text/plain, Size: 2471 bytes --]
Hi again,
On Tue, 2021-02-02 at 15:23 +0000, Julien Grall wrote:
> (Adding Andrew, Jan, Juergen for visibility)
>
Thanks! :-)
> On 02/02/2021 15:03, Dario Faggioli wrote:
> > On Tue, 2021-02-02 at 07:59 +0000, Julien Grall wrote:
> > > The placement in enter_hypervisor_from_guest() doesn't matter too
> > > much,
> > > although I would consider to call it as a late as possible.
> > >
> > Mmmm... Can I ask why? In fact, I would have said "as soon as
> > possible".
>
> Because those functions only access data for the current vCPU/domain.
> This is already protected by the fact that the domain is running.
>
Mmm.. ok, yes, I think it makes sense.
> By leaving the "quiesce" mode later, you give an opportunity to the
> RCU
> to release memory earlier.
>
Yeah. What I wanted to be sure is that we put the CPU "back in the
race" :-) before any current or future use of RCUs.
> In reality, it is probably still too early as a pCPU can be
> considered
> quiesced until a call to rcu_lock*() (such rcu_lock_domain()).
>
Well, yes, in theory, we could track down which is the first RCU read
side crit. section on this path, and put the call right before that (if
I understood what you mean).
To me, however, this looks indeed too complex and difficult to
maintain, not only for 4.15 but in general. E.g., suppose we find such
a use of RCUs in function foo() called by bar() called by
hypervisor_enter_from_guest().
If someone at some points wants to use RCUs in bar(), how does she know
that she should also move the call to rcu_quiet_enter() from foo() to
there?
So, yes, I'll move it a little down, but still within
hypervisor_enter_from_guest().
In the meanwhile, I had a quick chat with Jourgen about x86. In fact, I
had a look and was not finding a place where to put the
rcu_quiet_{exit,enter}() calls as convenient as you have here on ARM.
I.e., two nice C functions that we traverse for all kind of guests, for
HVM and SVM, etc.
Actually, I was quite skeptical about it but, you know, one can hope!
Juergen confirmed that there's no such things, so I'll look at the
various entry.S files for the proper spots.
Regards
--
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-02-03 7:31 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-21 10:54 Null scheduler and vwfi native problem Anders Törnqvist
2021-01-21 18:32 ` Dario Faggioli
2021-01-21 19:40 ` Julien Grall
2021-01-21 23:35 ` Dario Faggioli
2021-01-22 8:06 ` Anders Törnqvist
2021-01-22 9:05 ` Dario Faggioli
2021-01-22 14:26 ` Julien Grall
2021-01-22 17:44 ` Anders Törnqvist
2021-01-25 15:45 ` Dario Faggioli
2021-01-25 16:11 ` Dario Faggioli
2021-01-26 17:03 ` Anders Törnqvist
2021-01-26 22:31 ` Dario Faggioli
2021-01-29 8:08 ` Anders Törnqvist
2021-01-29 8:18 ` Jürgen Groß
2021-01-29 10:16 ` Dario Faggioli
2021-02-01 6:53 ` Anders Törnqvist
2021-01-30 17:59 ` Dario Faggioli
2021-02-01 6:55 ` Anders Törnqvist
2021-02-02 7:59 ` Julien Grall
2021-02-02 15:03 ` Dario Faggioli
2021-02-02 15:23 ` Julien Grall
2021-02-03 7:31 ` Dario Faggioli [this message]
2021-02-03 9:19 ` Julien Grall
2021-02-03 11:00 ` Jürgen Groß
2021-02-03 11:20 ` Julien Grall
2021-02-03 12:02 ` Jürgen Groß
2021-02-15 7:15 ` Anders Törnqvist
2021-01-22 14:02 ` Julien Grall
2021-01-22 17:30 ` Anders Törnqvist
2021-01-22 8:07 ` Anders Törnqvist
2021-01-21 19:16 ` Julien Grall
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=501664dbdb736eaa4d9c05255dedfd7ad3e694fa.camel@suse.com \
--to=dfaggioli@suse.com \
--cc=anders.tornqvist@codiax.se \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=jgross@suse.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.org \
--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.