Skip to content

MoCoLinux 0.5.9

Latest

Choose a tag to compare

@PhialsBasement PhialsBasement released this 08 Aug 19:06

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)