Commit ea0cd9a
x86/hyperv: Don’t enable TSCInvariant on some older Hyper-V hosts
Hyper-V host builds earlier than 22621 (Windows 11 22H2) have a bug in
the TSC Invariant feature that may result in the guest seeing a "slow"
TSC after the Hyper-V host resumes from hiberation. As a result, time
advances more slowly in the guest than in the host. When Linux programs
the Hyper-V synthetic timer, the timer interrupt can occur sooner than
expected or even immediately. As the guest time falls further and
further behind, a timer interrupt storm and unresponsive Linux guest can
result, along with excessive load on the host. Since the problem occurs
only after a Hyper-V host resumes from hibernation, the scenario is
primarily on Windows client devices that are running Linux guests such
as WSLv2.
Avoid the bug by assuming the TSC Invariant feature is not present when
WSLv2 is running on these builds.
Closes: microsoft/WSL#6982
Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Mitchell Levy <levymitchell0@gmail.com>
[ mitchelllevy: Forward port to 6.17 ]
Signed-off-by: Mitchell Levy <levymitchell0@gmail.com>1 parent 668afda commit ea0cd9a
1 file changed
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
440 | 440 | | |
441 | 441 | | |
442 | 442 | | |
| 443 | + | |
| 444 | + | |
443 | 445 | | |
444 | 446 | | |
445 | 447 | | |
| |||
468 | 470 | | |
469 | 471 | | |
470 | 472 | | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
471 | 485 | | |
472 | 486 | | |
473 | 487 | | |
| |||
0 commit comments