From: Ashish Singhal <ashishsin...@nvidia.com>
Sent: Tuesday, October 12, 2021 10:32 AM
To: Marc Zyngier <m...@kernel.org>
Cc: Shanker Donthineni <sdonthin...@nvidia.com>; Ard Biesheuvel 
<a...@kernel.org>; edk2-devel-groups-io <devel@edk2.groups.io>; Leif Lindholm 
<l...@nuviainc.com>; Ard Biesheuvel <ardb+tianoc...@kernel.org>
Subject: Re: [PATCH v2] ArmPkg/TimerDxe: Delay End Of Interrupt Signal 
 



From: Marc Zyngier <m...@kernel.org>
Sent: Tuesday, October 12, 2021 10:27 AM
To: Ashish Singhal <ashishsin...@nvidia.com>
Cc: Shanker Donthineni <sdonthin...@nvidia.com>; Ard Biesheuvel 
<a...@kernel.org>; edk2-devel-groups-io <devel@edk2.groups.io>; Leif Lindholm 
<l...@nuviainc.com>; Ard Biesheuvel <ardb+tianoc...@kernel.org>
Subject: Re: [PATCH v2] ArmPkg/TimerDxe: Delay End Of Interrupt Signal 
 
External email: Use caution opening links or attachments


On Tue, 12 Oct 2021 17:11:36 +0100,
Ashish Singhal <ashishsin...@nvidia.com> wrote:
>
> Marc,
>
> What do you suggest should be the proper fix for getting timer
> interrupts even when ISTATUS bit is not set? Should we ignore them
> the way it is in current implementation? I am OK to file a bug for
> this if you think that is a better way to discuss this.

I don't think there is anything to fix.

Yes, the order in EDKII is odd. No, changing the order doesn't give
any extra guarantee. Spurious interrupts can always happen. Broken (or
slow) HW and bad emulation are more susceptible to it.

Now, how often do you see that? On which HW?

        M.

--
Without deviation from the norm, progress is not possible.

Marc,

We see at least one spurious interrupt after every valid timer interrupt. While 
both valid and spurious interrupt has the correct source, spurious interrupt 
does not have ISTATUS bit set. We are seeing this on Silicon and not on the 
emulation platform. Delaying EOI signal to GIC does take the spurious interrupt 
out as with the new flow we clear the interrupt before signaling EOI so that 
next time only a valid interrupt can be triggered and not the old interrupt 
which was still not cleared while signaling EOI to GIC.

Thanks
Ashish

Thanks
Ashish

Marc,

I can confirm that with the current code on edk2, we get 1 spurious interrupt 
for every 1 valid interrupt from GIC. With the change I proposed, we do not get 
the spurious interrupt at all.

Thanks
Ashish

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81838): https://edk2.groups.io/g/devel/message/81838
Mute This Topic: https://groups.io/mt/86248479/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to