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