Skip to content

Instantly share code, notes, and snippets.

@jschwe
Last active March 26, 2021 11:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jschwe/3502dbf1e56c85e9bf1a340041885b33 to your computer and use it in GitHub Desktop.
Save jschwe/3502dbf1e56c85e9bf1a340041885b33 to your computer and use it in GitHub Desktop.
Cyclictest influence of load on neighboring cores

Isolation capabilities without CAT

Test 2021-01-31 - Isolate all CPUs on NUMA node 1

The figure below shows a worst-case latency of 4 microseconds measured by cyclictest on the isolated CPUs on NUMA node 1.

cmdline: nosmt isolcpus=domain,managed_irq,wq,rcu,misc,kthread,1,3,5,7,9,11 rcu_nocbs=1,3,5,7,9,11 irqaffinity=0,2,4 maxcpus=12 rcu_nocb_poll nowatchdog tsc=nowatchdog processor.max_cstate=1 intel_idle.max_cstate=0

Test parameters: sudo taskset -c 0-11 rteval --duration=24h --loads-cpulist=0,2,4,6,8,10 --measurement-cpulist=0-11

Figure: Latency of completely isolated node vs housekeeping node

Test 2021-02-01 - Isolate only CPU 11

The figure below shows a worst-case latency of 11 microseconds for the isolated CPU 11. Interestingly, the worst-case latencies also increased for the housekeeping CPUs with respect to the previous test. It is consistent with other tests I made though, and the worst-case latency of the housekeeping CPUs is reduced if I isolate all or all-but-one CPUs on node 1.

cmdline: nosmt isolcpus=domain,managed_irq,wq,rcu,misc,kthread,11 rcu_nocbs=11 irqaffinity=0,2,4 maxcpus=12 rcu_nocb_poll nowatchdog tsc=nowatchdog processor.max_cstate=1 intel_idle.max_cstate=0

Test parameters: sudo taskset -c 0-11 rteval --duration=24h --loads-cpulist=0-10 --measurement-cpulist=0-11

Figure: CPU 11 latency with load on neighboring CPUs

Note: The error bars show the unbiased standard error of the mean

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment