On 08.03.21 21:33, Boris Ostrovsky wrote:
On 3/6/21 11:18 AM, Juergen Gross wrote:An event channel should be kept masked when an eoi is pending for it. When being migrated to another cpu it might be unmasked, though. In order to avoid this keep three different flags for each event channel to be able to distinguish "normal" masking/unmasking from eoi related masking/unmasking and temporary masking. The event channel should only be able to generate an interrupt if all flags are cleared. Cc: [email protected] Fixes: 54c9de89895e0a36047 ("xen/events: add a new late EOI evtchn framework") Reported-by: Julien Grall <[email protected]> Signed-off-by: Juergen Gross <[email protected]> Reviewed-by: Julien Grall <[email protected]> --- V2: - introduce a lock around masking/unmasking - merge patch 3 into this one (Jan Beulich) V4: - don't set eoi masking flag in lateeoi_mask_ack_dynirq()Reviewed-by: Boris Ostrovsky <[email protected]> Ross, are you planning to test this?
Just as another data point: With the previous version of the patches a reboot loop of a guest needed max 33 reboots to loose network in my tests (those were IIRC 6 test runs). With this patch version I stopped the test after about 1300 reboots without having seen any problems. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: application/pgp-keys
OpenPGP_signature
Description: OpenPGP digital signature
