Skip to content

Commit cf69b98

Browse files
committed
rhel9 compatibility, remove hugeadm
1 parent 4bac59a commit cf69b98

File tree

1 file changed

+13
-29
lines changed

1 file changed

+13
-29
lines changed

src/readoutAutoConfigure.tcl

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -152,28 +152,17 @@ if {[llength $ldev]==0} {
152152
}
153153

154154
# get memory configuration
155-
156-
if {[catch {set hugeOutput [exec hugeadm --pool-list]} err]} {
157-
doLog "hugeadm failed: $err"
158-
exit 1
159-
}
160-
set hugeOutputLines [split $hugeOutput "\n"]
155+
set nHuge1G 0
156+
set nHuge1Gfile "/sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages"
161157
if {[catch {
162-
set hugeHeader "Size Minimum Current Maximum Default"
163-
if {[string trim [lindex $hugeOutputLines 0]]!=$hugeHeader} {
164-
# throw only in tcl 8.7... but if not it generates an error anyway, which is what we want
165-
throw
166-
}
167-
for {set i 1} {$i<[llength $hugeOutputLines]} {incr i} {
168-
set l [lindex $hugeOutputLines $i]
169-
set size [string trim [string range $l 0 11]]
170-
set min [string trim [string range $l 12 20]]
171-
set current [string trim [string range $l 21 29]]
172-
set max [string trim [string range $l 30 38]]
173-
lappend lmem "$size" "$current"
158+
set nHugeFd [open $nHuge1Gfile "r"]
159+
gets $nHugeFd line
160+
close $nHugeFd
161+
if {[scan $line "%d" nHuge1G]!=1} {
162+
doLog "Failed to parse $nHuge1Gfile"
174163
}
175164
} err]} {
176-
doLog "Failed to parse hugeadm output: $err"
165+
doLog "Failed to get number of hugepages: $err"
177166
}
178167

179168

@@ -202,9 +191,10 @@ if {[catch {
202191
throw
203192
}
204193
set l [lindex $memOutputLines 1]
205-
set memTotal [string trim [string range $l 7 18]]
206-
set memUsed [string trim [string range $l 19 30]]
207-
set memFree [string trim [string range $l 31 42]]
194+
set theWords [regexp -all -inline {\S+} $l]
195+
set memTotal [lindex $theWords 1]
196+
set memUsed [lindex $theWords 2]
197+
set memFree [lindex $theWords 3]
208198
} err]} {
209199
doLog "Failed to parse free output: $err"
210200
}
@@ -226,13 +216,7 @@ if {$numaNodes==0} {
226216
}
227217

228218
doLog "Memory available (hugepages):"
229-
set nHuge1G 0
230-
foreach {pageSize pagesAvailable} $lmem {
231-
doLog " $pagesAvailable * $pageSize bytes"
232-
if {$pageSize==1073741824} {
233-
set nHuge1G $pagesAvailable
234-
}
235-
}
219+
doLog " $nHuge1G * 1048576kB"
236220
if {$nHuge1G==0} {
237221
doLog "1G pages should not be zero"
238222
incr err

0 commit comments

Comments
 (0)