TL;DR
Microsoft has added per-device DMA pools in WSL 2, significantly improving file I/O performance for cross-OS workflows. The update is part of ongoing efforts to optimize WSL 2’s file system access.
Microsoft has implemented a new feature in WSL 2 that assigns dedicated DMA pools to each virtio device, significantly improving file system access speeds for cross-OS workflows. This development addresses a key bottleneck in virtiofs performance, which is crucial for developers working across Windows and Linux environments.
The update, merged into the WSL 2 kernel in May 2026, introduces per-device SWIOTLB (bounce buffer) pools, which were previously shared among all virtio devices. This change removes a major source of contention during high I/O workloads, especially for file-heavy operations involving Windows drives mounted in Linux via virtiofs.
To benefit from this improvement, users need to update their WSL kernel to version 6.18.26.3-1 and enable virtiofs in their .wslconfig file by setting virtiofs=true. The feature is currently opt-in, with the default still being Plan 9 over Hyper-V sockets. The enhancement is particularly relevant for developers running build, package, or compile commands that interact with files across the Windows/Linux boundary.
Why It Matters
This performance boost matters because it directly impacts productivity for developers and teams relying on WSL 2 for cross-OS workflows. Faster file I/O reduces wait times during builds, tests, and other file-intensive operations, making development more efficient. Additionally, improvements in virtiofs and DMA infrastructure may influence future virtualization and containerization solutions, emphasizing performance and scalability.
WSL 2 kernel update
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Background
Since its initial release in 2019, WSL 2 has progressively improved cross-OS file access. Early versions used DrvFs for Windows drive access, which was fast but limited to direct kernel interactions. The switch to a full Linux kernel in a Hyper-V VM introduced new protocols like 9P, which added protocol overhead. The advent of virtiofs as an experimental feature aimed to reduce this overhead using shared-memory transport. The recent addition of dedicated DMA pools continues this trend by addressing performance bottlenecks at the hardware I/O level.
“The per-device SWIOTLB pools remove contention at the DMA layer, providing a significant performance boost for file-heavy workloads.”
— Microsoft WSL team
“This change gives each virtio device its own dedicated DMA pool, eliminating the last major contention point on the virtiofs path.”
— Ben Hillis, WSL kernel developer
virtiofs performance boost
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What Remains Unclear
It is not yet clear how widely adopted this feature will be or how it will perform in diverse real-world scenarios beyond initial benchmarks. Compatibility issues or bugs may still emerge as users start enabling the feature, and Microsoft has not yet announced plans for broader default activation.
Windows Linux file system tools
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What’s Next
Next steps include wider rollout through updates, further performance testing, and potential default enabling in future WSL versions. Microsoft may also continue refining the feature based on user feedback and observed performance gains.
WSL 2 development environment
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
How do I enable the new DMA pool feature in WSL 2?
Update your WSL kernel with ‘wsl.exe –update –pre-release’, then add ‘virtiofs=true’ to the [wsl2] section of your .wslconfig file and restart WSL.
Does this improvement require new hardware?
No, it is a software-level enhancement that improves performance within existing hardware configurations supported by Hyper-V and WSL 2.
Will this feature become the default in future WSL updates?
It is currently opt-in, and Microsoft has not announced plans to make it default. Future updates may change this based on stability and performance feedback.
Are there any known issues or limitations with this update?
As of now, no major issues are publicly reported, but compatibility or stability issues could still emerge as more users enable the feature.
Source: Hacker News