From: Jan Beulich <jbeulich@suse.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>, Wei Liu <wl@xen.org>,
Paul Durrant <paul@xen.org>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/HVM: don't mark evtchn upcall vector as pending when vLAPIC is disabled
Date: Fri, 25 Nov 2022 10:09:22 +0100 [thread overview]
Message-ID: <b7fdef1d-709b-70e4-2e45-63eb24dab351@suse.com> (raw)
In-Reply-To: <Y4CEKd800UtOKetX@Air-de-Roger>
On 25.11.2022 10:00, Roger Pau Monné wrote:
> On Fri, Nov 25, 2022 at 09:43:59AM +0100, Jan Beulich wrote:
>> On 24.11.2022 16:12, Roger Pau Monné wrote:
>>> On Thu, Nov 24, 2022 at 12:16:13PM +0100, Jan Beulich wrote:
>>>> We need to be careful here - the kernel treating it as "edge" (like
>>>> any other interrupt coming directly from the LAPIC), it ack-s it
>>>> before calling the handler, i.e. before evtchn_upcall_pending would
>>>> have a chance to be cleared. See Linux'es sysvec_xen_hvm_callback().
>>>
>>> Hm, that's not how I handle it on FreeBSD, where the vector is acked
>>> after calling the handler (evtchn_upcall_pending gets cleared before
>>> the EOI). Maybe there's some corner case I'm missing that requires
>>> the EOI to be performed before clearing evtchn_upcall_pending?
>>
>> I think for the purpose of the one vector doing the EOI late is okay,
>> but aiui the goal of doing it early for edge triggered interrupts in
>> general (and yet more generally as early as possible) is to unmask
>> lower priority vectors as well.
>
> My reasoning for doing it late was in order to avoid adding extra
> latency to things like the timer handling, as the EOI will likely
> trigger a vmexit.
>
>> Of course that's useful only if IRQs
>> as a whole are unmasked during (part of) the handling.
>
> What do you mean with IRQs as a whole? Are you referring to setting
> the interrupt flag?
Yes (it being cleared).
> Thanks for the input, it's appreciated, and sorry for diverging the
> conversation so much.
I think that's quite fine, because aspects like the one still in context
are at least potentially relevant. Especially since here we're not
dealing with architectural behavior, but with an extrapolation thereof.
And views may (and apparently do) differ as to what the correct
extrapolation would be, even if just for corner aspects.
Jan
next prev parent reply other threads:[~2022-11-25 9:10 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-18 10:31 [PATCH] x86/HVM: don't mark evtchn upcall vector as pending when vLAPIC is disabled Jan Beulich
2022-11-18 12:31 ` Juergen Gross
2022-11-18 12:33 ` Andrew Cooper
2022-11-18 12:51 ` Roger Pau Monné
2022-11-18 12:54 ` Jan Beulich
2022-11-18 13:55 ` Roger Pau Monné
2022-11-18 13:58 ` Jan Beulich
2022-11-18 14:09 ` Roger Pau Monné
2022-11-18 14:27 ` Andrew Cooper
2022-11-21 8:56 ` Jan Beulich
2022-11-21 12:23 ` Andrew Cooper
2022-11-21 12:34 ` Jan Beulich
2022-11-23 12:03 ` Roger Pau Monné
2022-11-24 7:59 ` Jan Beulich
2022-11-24 8:42 ` Roger Pau Monné
2022-11-24 9:06 ` Roger Pau Monné
2022-11-24 9:11 ` Jan Beulich
2022-11-24 9:33 ` Roger Pau Monné
2022-11-24 11:16 ` Jan Beulich
2022-11-24 15:12 ` Roger Pau Monné
2022-11-25 8:43 ` Jan Beulich
2022-11-25 9:00 ` Roger Pau Monné
2022-11-25 9:09 ` Jan Beulich [this message]
2022-11-24 9:06 ` Jan Beulich
2022-12-05 13:44 ` Jan Beulich
2022-11-18 14:26 ` Roger Pau Monné
2022-11-21 8:33 ` Jan Beulich
2022-11-21 10:53 ` Roger Pau Monné
2022-11-21 11:14 ` Jan Beulich
2022-11-21 12:06 ` Jan Beulich
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=b7fdef1d-709b-70e4-2e45-63eb24dab351@suse.com \
--to=jbeulich@suse.com \
--cc=Andrew.Cooper3@citrix.com \
--cc=paul@xen.org \
--cc=roger.pau@citrix.com \
--cc=wl@xen.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.