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