nix
nix copied to clipboard
feat: dynamically-sized CpuSet
trafficstars
What does this PR do
Before this PR, our CpuSet type used only 1 libc cpuset structure, which can only hold 64 bits on both FreeBSD-like and Linux-like systems. With this limitation, it won't work on systems with more than 64 cores, as reported by #2589.
This PR changes the CpuSet type to an enum, which has 2 variants, a sized variant that is same as the previous definition, a dynamic variant that is dynamically allocated, which will extend itself when needed.
Checklist:
- [ ] I have read
CONTRIBUTING.md - [ ] I have written necessary tests and rustdoc comments
- [ ] A change log has been added if this PR modifies nix's API