cpuset icon indicating copy to clipboard operation
cpuset copied to clipboard

Problems in mounting cpuset filesystem

Open gdmsl opened this issue 3 years ago • 3 comments

Hi everyone. I am trying to use cpuset but I cannot make it work since it will not mount the cpuset filesystem. I am using ArchLinux (see below) and I am having the same problem both with the cpuset and the cpuset-git package.

The error reported is:

❯ sudo cset shield -c 3 -k on
mount: /cpusets: none already mounted or mount point busy.
       dmesg(1) may have more information after failed mount system call.
cset: **> mount of cpuset filesystem failed, do you have permission?

My system is running ArchLinux

❯ uname -a
Linux tachanka 5.19.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 20 Sep 2022 15:17:59 +0000 x86_64 GNU/Linux

gdmsl avatar Sep 23 '22 09:09 gdmsl

Thanks for the report. This looks like some of your systemd units use cpuset controller (you would see cpuset in /sys/fs/cgroup/cgroup.subtree_control) and hence it's not available for the shielding to mount it on v1. The cpuset tools won't work well with the unified (v2) hierarchy.

Despite slightly different error message, I'd consider this a duplicate of #45. (edit: #40 ofc) @gdmsl maybe the suggested use of systemd directives is useful to you?

Werkov avatar Sep 27 '22 10:09 Werkov

Hi. Sorry for the late answer. Not really (or I am not understanding it). I was trying to setup benchmarks for some scientific code following this set of instructions. But yes, I think it is a duplicate of #40 . Thanks!

gdmsl avatar Oct 10 '22 14:10 gdmsl

cset shield takes most of tasks and moves them to a specific cpuset cgroup, so that they're bound to certain set of CPUs and the remaining CPUs are free (shielded) from interference. You can move most of the regular systemd workload by applying AllowedCPUs= configuration to 1st level slices and then create your own slice/service/scope that uses complementary CPUs.

Werkov avatar Oct 11 '22 17:10 Werkov