@@ -21,7 +21,7 @@ get_cpuset() {
21
21
cpusetroot=$1
22
22
cpusetfile=$2
23
23
ncpu=0
24
- [ -f " $cpusetroot /$cpusetfile " ] || return
24
+ [ -f " $cpusetroot /$cpusetfile " ] || return 1
25
25
for token in $( tr ' ,' ' ' < " $cpusetroot /$cpusetfile " ) ; do
26
26
case " $token " in
27
27
* -* )
@@ -39,27 +39,27 @@ get_cpuset() {
39
39
get_quota () {
40
40
cpuroot=$1
41
41
ncpu=0
42
- [ -f " $cpuroot /cpu.cfs_quota_us" ] || return
43
- [ -f " $cpuroot /cpu.cfs_period_us" ] || return
42
+ [ -f " $cpuroot /cpu.cfs_quota_us" ] || return 1
43
+ [ -f " $cpuroot /cpu.cfs_period_us" ] || return 1
44
44
cfs_quota=$( cat " $cpuroot /cpu.cfs_quota_us" )
45
45
cfs_period=$( cat " $cpuroot /cpu.cfs_period_us" )
46
- [ " $cfs_quota " = " -1" ] && return
47
- [ " $cfs_period " = " 0" ] && return
46
+ [ " $cfs_quota " = " -1" ] && return 1
47
+ [ " $cfs_period " = " 0" ] && return 1
48
48
ncpu=$( ceildiv " $cfs_quota " " $cfs_period " )
49
- [ " $ncpu " -gt 0 ] || return
49
+ [ " $ncpu " -gt 0 ] || return 1
50
50
echo " $ncpu "
51
51
}
52
52
53
53
get_quota_v2 () {
54
54
cpuroot=$1
55
55
ncpu=0
56
- [ -f " $cpuroot /cpu.max" ] || return
56
+ [ -f " $cpuroot /cpu.max" ] || return 1
57
57
cfs_quota=$( cut -d' ' -f 1 < " $cpuroot /cpu.max" )
58
58
cfs_period=$( cut -d' ' -f 2 < " $cpuroot /cpu.max" )
59
- [ " $cfs_quota " = " max" ] && return
60
- [ " $cfs_period " = " 0" ] && return
59
+ [ " $cfs_quota " = " max" ] && return 1
60
+ [ " $cfs_period " = " 0" ] && return 1
61
61
ncpu=$( ceildiv " $cfs_quota " " $cfs_period " )
62
- [ " $ncpu " -gt 0 ] || return
62
+ [ " $ncpu " -gt 0 ] || return 1
63
63
echo " $ncpu "
64
64
}
65
65
@@ -69,15 +69,16 @@ get_cgroup_v1_path() {
69
69
foundroot=
70
70
mountpoint=
71
71
72
- [ -r " /proc/self/mountinfo" ] || return
73
- [ -r " /proc/self/cgroup" ] || return
72
+ [ -r " /proc/self/mountinfo" ] || return 1
73
+ [ -r " /proc/self/cgroup" ] || return 1
74
74
75
75
while IFS= read -r line; do
76
76
case " $needle " in
77
77
" cpuset" )
78
78
case " $line " in
79
79
* cpuset* )
80
80
found=$( echo " $line " | cut -d ' ' -f 4,5 )
81
+ break
81
82
;;
82
83
esac
83
84
;;
@@ -87,6 +88,7 @@ get_cgroup_v1_path() {
87
88
;;
88
89
* cpu,cpuacct* |* cpuacct,cpu|* cpuacct* |* cpu* )
89
90
found=$( echo " $line " | cut -d ' ' -f 4,5 )
91
+ break
90
92
;;
91
93
esac
92
94
esac
@@ -101,13 +103,15 @@ __EOF__
101
103
case " $controller " in
102
104
cpuset)
103
105
mountpoint=$( echo " $line " | cut -d: -f 3 )
106
+ break
104
107
;;
105
108
esac
106
109
;;
107
110
" cpu" )
108
111
case " $controller " in
109
112
cpu,cpuacct|cpuacct,cpu|cpuacct|cpu)
110
113
mountpoint=$( echo " $line " | cut -d: -f 3 )
114
+ break
111
115
;;
112
116
esac
113
117
;;
@@ -132,8 +136,8 @@ get_cgroup_v2_path() {
132
136
foundroot=
133
137
mountpoint=
134
138
135
- [ -r " /proc/self/mountinfo" ] || return
136
- [ -r " /proc/self/cgroup" ] || return
139
+ [ -r " /proc/self/mountinfo" ] || return 1
140
+ [ -r " /proc/self/cgroup" ] || return 1
137
141
138
142
while IFS= read -r line; do
139
143
found=$( echo " $line " | cut -d ' ' -f 4,5 )
@@ -149,7 +153,7 @@ __EOF__
149
153
150
154
case " ${found%% * } " in
151
155
" " )
152
- return
156
+ return 1
153
157
;;
154
158
" /" )
155
159
foundroot=" ${found##* } $mountpoint "
@@ -167,20 +171,10 @@ ncpu_quota=
167
171
ncpu_cpuset_v2=
168
172
ncpu_quota_v2=
169
173
170
- cpuset=$( get_cgroup_v1_path " cpuset" )
171
- [ " $cpuset " ] && ncpu_cpuset=$( get_cpuset " $cpuset " " cpuset.effective_cpus" )
172
- [ " $ncpu_cpuset " ] || ncpu_cpuset=$ncpu_online
173
-
174
- cpu=$( get_cgroup_v1_path " cpu" )
175
- [ " $cpu " ] && ncpu_quota=$( get_quota " $cpu " )
176
- [ " $ncpu_quota " ] || ncpu_quota=$ncpu_online
177
-
178
- cgroup_v2=$( get_cgroup_v2_path )
179
- [ " $cgroup_v2 " ] && ncpu_cpuset_v2=$( get_cpuset " $cgroup_v2 " " cpuset.cpus.effective" )
180
- [ " $ncpu_cpuset_v2 " ] || ncpu_cpuset_v2=$ncpu_online
181
-
182
- [ " $cgroup_v2 " ] && ncpu_quota_v2=$( get_quota_v2 " $cgroup_v2 " )
183
- [ " $ncpu_quota_v2 " ] || ncpu_quota_v2=$ncpu_online
174
+ cpuset=$( get_cgroup_v1_path " cpuset" ) && ncpu_cpuset=$( get_cpuset " $cpuset " " cpuset.effective_cpus" ) || ncpu_cpuset=$ncpu_online
175
+ cpu=$( get_cgroup_v1_path " cpu" ) && ncpu_quota=$( get_quota " $cpu " ) || ncpu_quota=$ncpu_online
176
+ cgroup_v2=$( get_cgroup_v2_path ) && ncpu_cpuset_v2=$( get_cpuset " $cgroup_v2 " " cpuset.cpus.effective" ) || ncpu_cpuset_v2=$ncpu_online
177
+ cgroup_v2=$( get_cgroup_v2_path ) && ncpu_quota_v2=$( get_quota_v2 " $cgroup_v2 " ) || ncpu_quota_v2=$ncpu_online
184
178
185
179
ncpu=$( printf " %s\n%s\n%s\n%s\n%s\n" \
186
180
" $ncpu_online " \
0 commit comments