Bug 151821 - Implement CPU affinity mask virtualization (or CPU ID namespaces)
Summary: Implement CPU affinity mask virtualization (or CPU ID namespaces)
Status: NEW
Alias: None
Product: Process Management
Classification: Unclassified
Component: Scheduler (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Ingo Molnar
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-09 15:18 UTC by Florian Weimer
Modified: 2016-08-09 15:18 UTC (History)
0 users

See Also:
Kernel Version: 4.7
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Florian Weimer 2016-08-09 15:18:57 UTC
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.

Note You need to log in before you can comment on or make changes to this bug.