From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Oleksandr Tyshchenko <oleksandr.tyshchenko@globallogic.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: ARM Generic Timer interrupt
Date: Wed, 28 May 2014 12:37:12 +0100 [thread overview]
Message-ID: <5385CA68.80903@linaro.org> (raw)
In-Reply-To: <1401276897.31647.2.camel@kazak.uk.xensource.com>
On 05/28/2014 12:34 PM, Ian Campbell wrote:
> On Wed, 2014-05-28 at 12:32 +0100, Julien Grall wrote:
>> On 05/28/2014 11:10 AM, Ian Campbell wrote:
>>> On Tue, 2014-05-27 at 13:11 +0100, Stefano Stabellini wrote:
>>>>> But, I have question:
>>>>> Should the Hypervisor masks virtual timer IRQ on his own?
>>>>> It is a guest's resource and the guest itself should decide what to do.
>>>>> For example, I see that Linux Kernel (3.8) sets and clears timer interrupt mask by itself.
>>>>
>>>> In principle I agree with you that the vtimer is a guest resource.
>>>> However in practice if we don't mask the irq we can easily get into an
>>>> interrupt storm situation: if the guest doesn't handle the interrupt
>>>> immediately we could keep receiving the vtimer irq in the hypervisor and
>>>> busy loop around it.
>>>
>>> Do we not do a priority drop on the interrupt when we receive it, so we
>>> won't get any more interrupts from the timer until it acks the
>>> interrupt?
>>
>> The timer interrupt is acked directly by Xen. We can't wait the guest
>> VCPU as EOI the interrupt because the guest may have move to another
>> pCPU by this time.
>
> Surely we can arrange to handle that though. The way we currently handle
> the timer stuff always seemed suboptimal to me.
If so, no need to request a maintenance interrupt (see Stefano's patch).
And handle EOI during context switch.
This will be slower than the current solution (which is also used by
KVM). I think it's fine to make a specific case for the virt timer in
the guest OS.
Regards,
--
Julien Grall
next prev parent reply other threads:[~2014-05-28 11:37 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-26 15:26 ARM Generic Timer interrupt Oleksandr Tyshchenko
2014-05-27 12:11 ` Stefano Stabellini
2014-05-27 15:00 ` Julien Grall
2014-05-27 16:05 ` Stefano Stabellini
2014-05-27 16:12 ` Julien Grall
2014-05-27 16:53 ` Oleksandr Tyshchenko
2014-05-28 10:10 ` Ian Campbell
2014-05-28 11:32 ` Julien Grall
2014-05-28 11:34 ` Ian Campbell
2014-05-28 11:37 ` Julien Grall [this message]
2014-05-28 11:51 ` Stefano Stabellini
2014-05-28 11:54 ` Ian Campbell
2014-05-28 12:11 ` Stefano Stabellini
2014-05-28 12:20 ` Ian Campbell
2014-05-28 12:33 ` Stefano Stabellini
2014-05-28 12:36 ` Ian Campbell
2014-05-28 13:21 ` Stefano Stabellini
2014-05-29 8:38 ` Oleksandr Tyshchenko
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=5385CA68.80903@linaro.org \
--to=julien.grall@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=oleksandr.tyshchenko@globallogic.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xen.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.