-
Type: Task
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
Server Tooling & Methods
-
TIG D (12/11/15)
We can add a variant in Evergreen that runs all processes started by a test (including other MongoDB processes) with affinity for a single processor. This can help to reveal timing dependencies within tests by starving the test of CPU resources.
One option is use the taskset utility within resmoke.py on the processes it spawns. Another option is to use numactl --physcpubind like the perf project does.
Note: The CPU affinity is inherited by child processes.
A child created via fork(2) inherits its parent's CPU affinity mask. The affinity mask is preserved across an execve(2).
-- http://man7.org/linux/man-pages/man2/sched_setaffinity.2.html