There is a concern that large multi-processor systems which exceed the 128 byte cpuset_t limit cause applications to fail: https://github.com/golang/go/issues/11823 One possible approach to address this is to virtualize the user view of CPU IDs, so that a namespace only sees a subset of all CPUs the kernel can support. This way, such affected applications could be run in a namespace which is fully compatible with a 128 byte cpuset_t type. It does not appear to be prudent to perform the translation in user space because of the wide range of interfaces which are affected.