csetshield 无法在屏蔽核心上执行任务

csetshield 无法在屏蔽核心上执行任务

我正在尝试在 x86-64(4 核)和 Ubuntu 22.04 上的屏蔽核心上运行基准测试。屏蔽核心3运行良好:

paul@cube-ubuntu-22:~/simd-agner/build$ sudo cset shield -c 3
cset: --> activating shielding:
cset: moving 714 tasks from root into system cpuset...
[==================================================]%
cset: "system" cpuset of CPUSPEC(0-2) with 714 tasks running
cset: "user" cpuset of CPUSPEC(3) with 0 tasks running

但尝试对其运行基准测试失败了:

paul@cube-ubuntu-22:~/simd-agner/build$ cset shield -e ./bench-native-icx 
cset: **> 1 tasks are not movable, impossible to move
cset: --> last message, executed args into cpuset "/user", new pid is: 10578

并且基准测试在核心 1 而不是核心 3 上运行。当我使用时没有问题taskset

taskset -c 3 ./bench-native-icx

它按预期在核心 3 上运行基准测试。我正在查看另一个正在运行的终端watch grep \"cpu MHz\" /proc/cpuinfo以确定正在使用哪个核心。它明确地表明了这一点。

相关内容