MoCoLinux 0.5.9 brings working two-vCPU cooperative SMP to the Linux 7.1.5 guest on Windows 10.
- Runs two Linux processors concurrently on distinct host logical processors, with per-vCPU passage pages, switch state, timers, virtual interrupt state and posted-IPI delivery.
- Exposes the selected host processors' real physical-core/SMT relationship to the guest.
- Uses targeted Windows DPC doorbells and guarded posted-IPI polling, fixing the Firefox hardlock encountered during SMP bring-up.
- Hardens vCPU claiming, teardown, kick delivery and daemon error handling against failed starts and concurrent shutdown.
- Makes two vCPUs the installed default through
--cpus 2.
Validated on Windows 10 IoT Enterprise LTSC 21H2 build 19044 with a Core i5-3470 and Linux 7.1.5:
| Workload | 1 vCPU | 2 vCPUs | Scaling |
|---|---|---|---|
sysbench cpu --cpu-max-prime=20000, 10 s |
345.23 events/s | 682.96 events/s | 1.978x |
| OpenSSL SHA-256, 8192-byte blocks | 320,064.72 kB/s | 634,843.21 kB/s | 1.983x |
sysbench memory sequential write |
17,631.70 MiB/s | 35,828.47 MiB/s | 2.032x |
sysbench memory sequential read |
21,729.63 MiB/s | 42,494.90 MiB/s | 1.956x |
Firefox loaded pages normally after the IPI fix, stress/lock/context-switch tests completed, and the guest remained reachable over SSH. SMP beyond two vCPUs and replacing the TCP/VirtualGL presentation bottleneck remain future work.
SHA-256: 7c6da312ee11f85db10a0866723e776fe9b1c25df910e0d14a93760049c47a17 (MoCoLinux-0.5.9.zip)