On 3/8/22 17:59, David Woodhouse wrote:
Incremental diff to the 'oneshot timers' patch looks like the first
hunk of this. I'm also pondering the second hunk which actively
*cancels* the pending timer on serialization.
Hmm, why so?
Don't know yet. But as I added the save/restore support to Joao's patch
I had *assumed* that it would fail when the delta was negative, and was
kind of surprised when it worked in the first place. So I'm sticking
with "Don't Do That Then" as my initial response to fix it.
Yes, I'm just talking about the second hunk. The first is clear(ish).
After a kexec, the deadline for the timer is past, and that's why it
ends up getting restored with a negative delta. After a *few* cycles of
this it usually ends up with the timer callback never triggering.
I'll stick a negative delta into the KVM selftest included in the patch
series, instead of the nice polite '100ms in the future' that it uses
at the moment. That ought to trigger it too, and I can instrument the
hrtimer code to work out what's going on. Either way, I think 'Don't Do
That Then' will continue to be the right answer:)
Yep, let's keep both testcases through.
Paolo