On 16.09.20 10:51, Jan Beulich wrote:

Hi Jan

On 10.09.2020 22:22, Oleksandr Tyshchenko wrote:
@@ -2277,8 +2299,10 @@ void leave_hypervisor_to_guest(void)
  {
      local_irq_disable();
- check_for_vcpu_work();
-    check_for_pcpu_work();
+    do
+    {
+        check_for_pcpu_work();
+    } while ( check_for_vcpu_work() );
Looking at patch 11 I've stumbled across changes done to code
related to this, and now I wonder: There's no mention in the
description of why this safe (i.e. not a potentially unbounded
loop).
Indeed there was a discussion regarding that. Probably I should have added an explanation. Please see the thoughts about that and a reason why it was decided to let the vCPU to spin forever if I/O never completes (check_for_vcpu_work() never returns false) and why it was considered as safe action:
https://patchwork.kernel.org/patch/11698549/#23540209



As a nit - the opening brace does not belong on its own line in
this specific case.
ok

--
Regards,

Oleksandr Tyshchenko


Reply via email to