On 06/06/2019 09:08, Jan Beulich wrote:
>>>> On 05.06.19 at 19:04, <andrew.coop...@citrix.com> wrote:
>> On 08/05/2019 13:46, Jan Beulich wrote:
>>> The timer needs to remain active only until all pending IRQ instances
>>> have seen EOIs from their respective domains. Stop it when the in-flight
>>> count has reached zero in desc_guest_eoi(). Note that this is race free
>>> (with __do_IRQ_guest()), as the IRQ descriptor lock is being held at
>>> that point.
>>>
>>> Also pull up stopping of the timer in __do_IRQ_guest() itself: Instead
>>> of stopping it immediately before re-setting, stop it as soon as we've
>>> made it past any early returns from the function (and hence we're sure
>>> it'll get set again).
>> Why this this a good thing?
> For it to not fire when it doesn't need to. If we're about to set
> a new timeout, we clearly don't want the previous one to have
> any effect anymore.

Sounds like an excellent addition to the code, now that there is a
order-of-returns dependency.

With a suitable comment, Reviewed-by: Andrew Cooper
<andrew.coop...@citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to