From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien.grall@arm.com>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Dave P Martin <dave.martin@arm.com>
Subject: Re: xen/evtchn and forced threaded irq
Date: Thu, 21 Feb 2019 09:17:10 +0100 [thread overview]
Message-ID: <2c5300a3-ed7f-c1a3-81d3-35adb23bea4c@suse.com> (raw)
In-Reply-To: <5e256d9a-572c-e01e-7706-407f99245b00@arm.com>
On 19/02/2019 18:31, Julien Grall wrote:
> Hi all,
>
> I have been looking at using Linux RT in Dom0. Once the guest is started,
> the console is ending to have a lot of warning (see trace below).
>
> After some investigation, this is because the irq handler will now be threaded.
> I can reproduce the same error with the vanilla Linux when passing the option
> 'threadirqs' on the command line (the trace below is from 5.0.0-rc7 that has
> not RT support).
>
> FWIW, the interrupt for port 6 is used to for the guest to communicate with
> xenstore.
>
> From my understanding, this is happening because the interrupt handler is now
> run in a thread. So we can have the following happening.
>
> Interrupt context | Interrupt thread
> |
> receive interrupt port 6 |
> clear the evtchn port |
> set IRQF_RUNTHREAD |
> kick interrupt thread |
> | clear IRQF_RUNTHREAD
> | call evtchn_interrupt
> receive interrupt port 6 |
> clear the evtchn port |
> set IRQF_RUNTHREAD |
> kick interrupt thread |
> | disable interrupt port 6
> | evtchn->enabled = false
> | [....]
> |
> | *** Handling the second interrupt ***
> | clear IRQF_RUNTHREAD
> | call evtchn_interrupt
> | WARN(...)
>
> I am not entirely sure how to fix this. I have two solutions in mind:
>
> 1) Prevent the interrupt handler to be threaded. We would also need to
> switch from spin_lock to raw_spin_lock as the former may sleep on RT-Linux.
>
> 2) Remove the warning
3) Split the handler (RT-only?) to a non-threaded part containing
everything until the "evtchn->enabled = false" and only then
kick the thread doing the rest, including the spin_lock().
Juergen
prev parent reply other threads:[~2019-02-21 8:17 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-19 17:31 xen/evtchn and forced threaded irq Julien Grall
2019-02-20 0:02 ` Boris Ostrovsky
2019-02-20 14:15 ` Julien Grall
2019-02-20 17:07 ` Boris Ostrovsky
2019-02-20 18:05 ` Julien Grall
2019-02-20 20:04 ` Boris Ostrovsky
2019-02-20 20:46 ` Julien Grall
2019-02-20 21:46 ` Boris Ostrovsky
2019-02-20 22:03 ` Julien Grall
2019-02-21 8:07 ` [Xen-devel] " Roger Pau Monné
[not found] ` <CAF3u54Ct7nBjoLw9Vzb=aZVu=N5Ccp5_k6GxLo_ZSA=YCsco6A@mail.gmail.com>
2019-02-21 8:52 ` Juergen Gross
2019-02-21 9:14 ` Roger Pau Monné
2019-02-21 20:46 ` Julien Grall
2020-04-27 23:20 ` Stefano Stabellini
2019-02-22 11:44 ` Jan Beulich
2019-02-22 12:38 ` [Xen-devel] " Oleksandr Andrushchenko
2019-02-22 13:33 ` Julien Grall
2019-02-25 13:24 ` Oleksandr Andrushchenko
2019-02-25 13:55 ` Julien Grall
2019-02-25 14:08 ` Oleksandr Andrushchenko
2019-02-25 15:26 ` Julien Grall
2019-02-26 9:14 ` Roger Pau Monné
2019-02-26 9:30 ` Andrew Cooper
2019-02-26 9:44 ` Roger Pau Monné
2019-02-26 10:03 ` Julien Grall
2019-02-26 10:17 ` Roger Pau Monné
2019-02-26 10:26 ` Julien Grall
2019-02-26 11:02 ` Roger Pau Monné
2019-02-27 11:09 ` Julien Grall
2019-02-26 9:45 ` Paul Durrant
2019-02-21 8:17 ` Juergen Gross [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=2c5300a3-ed7f-c1a3-81d3-35adb23bea4c@suse.com \
--to=jgross@suse.com \
--cc=boris.ostrovsky@oracle.com \
--cc=dave.martin@arm.com \
--cc=julien.grall@arm.com \
--cc=linux-kernel@vger.kernel.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 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).