1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0 3 # 4 # Test the special cpuset v1 hotplug case where a cpuset become empty of 5 # CPUs will force migration of tasks out to an ancestor. 6 # 7 8 skip_test() { 9 echo "$1" 10 echo "Test SKIPPED" 11 exit 4 # ksft_skip 12 } 13 14 [[ $(id -u) -eq 0 ]] || skip_test "Test must be run as root!" 15 16 # Find cpuset v1 mount point 17 CPUSET=$(mount -t cgroup | grep cpuset | head -1 | awk -e '{print $3}') 18 [[ -n "$CPUSET" ]] || skip_test "cpuset v1 mount point not found!" 19 20 # 21 # Create a test cpuset, put a CPU and a task there and offline that CPU 22 # 23 TDIR=test$$ 24 [[ -d $CPUSET/$TDIR ]] || mkdir $CPUSET/$TDIR 25 echo 1 > $CPUSET/$TDIR/cpuset.cpus 26 echo 0 > $CPUSET/$TDIR/cpuset.mems 27 sleep 10& 28 TASK=$! 29 echo $TASK > $CPUSET/$TDIR/tasks 30 NEWCS=$(cat /proc/$TASK/cpuset) 31 [[ $NEWCS != "/$TDIR" ]] && { 32 echo "Unexpected cpuset $NEWCS, test FAILED!" 33 exit 1 34 } 35 36 echo 0 > /sys/devices/system/cpu/cpu1/online 37 sleep 0.5 38 echo 1 > /sys/devices/system/cpu/cpu1/online 39 NEWCS=$(cat /proc/$TASK/cpuset) 40 rmdir $CPUSET/$TDIR 41 [[ $NEWCS != "/" ]] && { 42 echo "cpuset $NEWCS, test FAILED!" 43 exit 1 44 } 45 echo "Test PASSED" 46 exit 0
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.