All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel@lists.xen.org
Subject: Re: Xen 4.5 random freeze question
Date: Thu, 20 Nov 2014 11:15:18 +0000	[thread overview]
Message-ID: <546DCD46.8000105@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1411201023240.12596@kaball.uk.xensource.com>

On 11/20/2014 10:28 AM, Stefano Stabellini wrote:
> On Wed, 19 Nov 2014, Andrii Tseglytskyi wrote:
>> 19 лист. 2014 20:32, користувач "Stefano Stabellini" <stefano.stabellini@eu.citrix.com> написав:
>>>
>>> On Wed, 19 Nov 2014, Julien Grall wrote:
>>>> On 11/19/2014 06:14 PM, Stefano Stabellini wrote:
>>>>> That's right, the maintenance interrupt handler is not called, but it
>>>>> doesn't do anything so we are fine. The important thing is that an
>>>>> interrupt is sent and git_clear_lrs gets called on hypervisor entry.
>>>>
>>>> It would be worth to write down this somewhere. Just in case someone
>>>> decide to add code in maintenance interrupt later.
>>>
>>> Yes, I could add a comment in the handler
>>
>> Maybe it wouldn't take a lot of effort to fix it? I am just worrying that we may hide some issue -
>> typically spurious interrupt this not what is expected.
> 
> My guess is that by clearing UIE before reading GICC_IAR, we "clear" the
> maintenance interrupt too, as a consequence the following read to
> GICC_IAR would return 1023 (nothing to be read). As bit as if the
> maintenance interrupt was a level interrupt and we just disabled it.
> 
> So I think that if we cleared UIE after reading GICC_IAR, GICC_IAR would
> return the correct value.
> 
> However with the current structure of the code, the first thing that we
> do upon entering the hypervisor is clearing LRs and given what happened
> on your platform I think is a good idea to do it with UIE disabled.

Agreed. UIE should be disabled to avoid another maintenance interrupt as
soon as we EOI the IRQ.

> This is way I would rather read spurious interrupts but read/write LRs
> with UIE disabled than reading maintenance interrupts but risking
> strange behaviours on some platforms.

Reading the GIC-v2 documentation, the spurious interrupt things should
happen on any platform every time the UIE is disabled while we receive a
maintenance interrupt.

"The read returns a spurious interrupt ID of 1023 if any of the
following apply:

- no pending interrupt on the CPU interface has sufficient priority for
the interface to signal it to the processor"

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2014-11-20 11:15 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-14 14:25 Xen 4.5 random freeze question Andrii Tseglytskyi
2014-11-14 14:35 ` Stefano Stabellini
2014-11-14 14:43   ` Andrii Tseglytskyi
2014-11-14 15:22     ` Stefano Stabellini
2014-11-14 15:39       ` Andrii Tseglytskyi
2014-11-14 15:49         ` Julien Grall
2014-11-14 15:58           ` Andrii Tseglytskyi
2014-11-14 16:15         ` Stefano Stabellini
2014-11-14 16:22           ` Andrii Tseglytskyi
2014-11-14 16:35             ` Julien Grall
2014-11-14 16:40               ` Andrii Tseglytskyi
2014-11-17 15:47                 ` Andrii Tseglytskyi
2014-11-17 16:39                   ` Stefano Stabellini
2014-11-17 17:05                     ` Andrii Tseglytskyi
2014-11-17 18:02                       ` Stefano Stabellini
2014-11-18 10:41                         ` Andrii Tseglytskyi
2014-11-18 11:31                           ` Andrii Tseglytskyi
2014-11-18 12:35                             ` Andrii Tseglytskyi
2014-11-18 15:39                               ` Stefano Stabellini
2014-11-18 16:11                                 ` Andrii Tseglytskyi
2014-11-18 16:14                                   ` Stefano Stabellini
2014-11-18 16:18                                     ` Andrii Tseglytskyi
2014-11-18 16:46                                       ` Andrii Tseglytskyi
2014-11-18 17:51                                         ` Stefano Stabellini
2014-11-19  9:38                                           ` Andrii Tseglytskyi
2014-11-19 11:12                                             ` Stefano Stabellini
2014-11-19 11:16                                               ` Andrii Tseglytskyi
2014-11-19 11:42                                                 ` Stefano Stabellini
2014-11-19 11:57                                                   ` Andrii Tseglytskyi
2014-11-19 11:59                                                     ` Stefano Stabellini
2014-11-19 12:37                                                       ` Andrii Tseglytskyi
2014-11-19 14:52                                                         ` Stefano Stabellini
2014-11-19 15:27                                                           ` Andrii Tseglytskyi
2014-11-19 15:41                                                             ` Stefano Stabellini
2014-11-19 16:01                                                               ` Andrii Tseglytskyi
2014-11-19 16:09                                                                 ` Andrii Tseglytskyi
2014-11-19 16:13                                                                   ` Stefano Stabellini
2014-11-19 16:29                                                                     ` Andrii Tseglytskyi
2014-11-19 16:32                                                                       ` Andrii Tseglytskyi
2014-11-19 16:43                                                                         ` Andrii Tseglytskyi
2014-11-19 16:52                                                                           ` Stefano Stabellini
2014-11-19 16:50                                                                       ` Stefano Stabellini
2014-11-19 17:03                                                                         ` Andrii Tseglytskyi
2014-11-19 17:07                                                                           ` Stefano Stabellini
2014-11-19 17:37                                                                             ` Andrii Tseglytskyi
2014-11-19 17:42                                                                               ` Stefano Stabellini
2014-11-19 17:47                                                                                 ` Andrii Tseglytskyi
2014-11-19 18:06                                                                                   ` Andrii Tseglytskyi
2014-11-19 18:14                                                                                     ` Stefano Stabellini
2014-11-19 18:26                                                                                       ` Julien Grall
2014-11-19 18:31                                                                                         ` Stefano Stabellini
2014-11-19 19:24                                                                                           ` Andrii Tseglytskyi
2014-11-20 10:28                                                                                             ` Stefano Stabellini
2014-11-20 11:15                                                                                               ` Julien Grall [this message]
2014-11-20 16:06                                                                                                 ` Andrii Tseglytskyi
2014-11-20 16:15                                                                                                   ` Stefano Stabellini
2014-11-20 16:43                                                                                                     ` Andrii Tseglytskyi
2014-11-19 17:11                                                                           ` Andrii Tseglytskyi
2014-11-19 17:14                                                                             ` Stefano Stabellini
2014-11-19 12:13                                                   ` Ian Campbell
2014-11-19 12:17                                                     ` Stefano Stabellini
2014-11-19 12:23                                                       ` Julien Grall
2014-11-19 12:40                                                         ` Andrii Tseglytskyi
2014-11-19 13:26                                                           ` Julien Grall
2014-11-19 13:30                                                             ` Andrii Tseglytskyi
2014-11-19 14:05                                                               ` 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=546DCD46.8000105@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=andrii.tseglytskyi@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.