Re: [PATCH v4 2/3] xen/events: don't unmask an event channel when an eoi is pending

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2021-03-09 08:57, Ross Lagerwall wrote:
> On 2021-03-09 05:14, Jürgen Groß wrote:
>> 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: stable@xxxxxxxxxxxxxxx
>>>> Fixes: 54c9de89895e0a36047 ("xen/events: add a new late EOI evtchn framework")
>>>> Reported-by: Julien Grall <julien@xxxxxxx>
>>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>>>> Reviewed-by: Julien Grall <jgrall@xxxxxxxxxx>
>>>> ---
>>>> 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 <boris.ostrovsky@xxxxxxxxxx>
>>>
>>>
>>> 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.
>>
> 
> Thanks, I'll test it today and get back to you.
> 

Tested-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>

The updated patch seems fine in testing.

Thanks
Ross



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux