accel/qaic: Add AIC200 support
[drm/drm-misc.git] / tools / testing / selftests / cgroup / test_cpuset_v1_base.sh
blob42a6628fb8bc3edc286fb17407f5ba3ac84ccd79
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
4 # Basc test for cpuset v1 interfaces write/read
7 skip_test() {
8 echo "$1"
9 echo "Test SKIPPED"
10 exit 4 # ksft_skip
13 write_test() {
14 dir=$1
15 interface=$2
16 value=$3
17 original=$(cat $dir/$interface)
18 echo "testing $interface $value"
19 echo $value > $dir/$interface
20 new=$(cat $dir/$interface)
21 [[ $value -ne $(cat $dir/$interface) ]] && {
22 echo "$interface write $value failed: new:$new"
23 exit 1
27 [[ $(id -u) -eq 0 ]] || skip_test "Test must be run as root!"
29 # Find cpuset v1 mount point
30 CPUSET=$(mount -t cgroup | grep cpuset | head -1 | awk '{print $3}')
31 [[ -n "$CPUSET" ]] || skip_test "cpuset v1 mount point not found!"
34 # Create a test cpuset, read write test
36 TDIR=test$$
37 [[ -d $CPUSET/$TDIR ]] || mkdir $CPUSET/$TDIR
39 ITF_MATRIX=(
40 #interface value expect root_only
41 'cpuset.cpus 0-1 0-1 0'
42 'cpuset.mem_exclusive 1 1 0'
43 'cpuset.mem_exclusive 0 0 0'
44 'cpuset.mem_hardwall 1 1 0'
45 'cpuset.mem_hardwall 0 0 0'
46 'cpuset.memory_migrate 1 1 0'
47 'cpuset.memory_migrate 0 0 0'
48 'cpuset.memory_spread_page 1 1 0'
49 'cpuset.memory_spread_page 0 0 0'
50 'cpuset.memory_spread_slab 1 1 0'
51 'cpuset.memory_spread_slab 0 0 0'
52 'cpuset.mems 0 0 0'
53 'cpuset.sched_load_balance 1 1 0'
54 'cpuset.sched_load_balance 0 0 0'
55 'cpuset.sched_relax_domain_level 2 2 0'
56 'cpuset.memory_pressure_enabled 1 1 1'
57 'cpuset.memory_pressure_enabled 0 0 1'
60 run_test()
62 cnt="${ITF_MATRIX[@]}"
63 for i in "${ITF_MATRIX[@]}" ; do
64 args=($i)
65 root_only=${args[3]}
66 [[ $root_only -eq 1 ]] && {
67 write_test "$CPUSET" "${args[0]}" "${args[1]}" "${args[2]}"
68 continue
70 write_test "$CPUSET/$TDIR" "${args[0]}" "${args[1]}" "${args[2]}"
71 done
74 run_test
75 rmdir $CPUSET/$TDIR
76 echo "Test PASSED"
77 exit 0