From 8e9343b6323ae0792535c13289fc70de2f538c03 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Wed, 15 Nov 2023 19:37:58 +0100 Subject: [PATCH] Add forgotten run-with-cgroup.sh script --- common/run-in-cgroup.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100755 common/run-in-cgroup.sh diff --git a/common/run-in-cgroup.sh b/common/run-in-cgroup.sh new file mode 100755 index 0000000..9891d72 --- /dev/null +++ b/common/run-in-cgroup.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +if [ -z "$CPUSPEC" ] || [ "$#" -lt 1 ]; then + echo "usage: CPUSPEC=... $0 command" + exit 1 +fi + +set +e + +if type systemd-run >/dev/null 2>&1 ; then + sudo systemd-run -G --pty -d --uid=$(whoami) -p AllowedCPUs="$CPUSPEC" "$@" +else + sudo mkdir /sys/fs/cgroup/jhalfs + sudo sh -c "echo +cpuset > /sys/fs/cgroup/cgroup.subtree_control" + sudo sh -c "echo \"$CPUSPEC\" > /sys/fs/cgroup/jhalfs/cpuset.cpus" + (sudo sh -c "echo $BASHPID > /sys/fs/cgroup/jhalfs/cgroup.procs" && + exec "$@") + sudo rmdir /sys/fs/cgroup/jhalfs +fi