Skip to content

Commit 6c4f342

Browse files
committed
internal fallback when hugeadm / libhugetlbfs not found
1 parent 04747cf commit 6c4f342

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

src/o2-roc-setup-hugetlbfs.sh

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ HUGEPAGES_1G_SYSFILE=/sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
1313
HUGEPAGES_1G_NUMBER=6
1414

1515

16+
which hugeadm
17+
if [ "$?" == "0" ]; then
18+
FOUND_HUGEADM=1
19+
else
20+
echo "hugeadm command not found, using internal fallback"
21+
fi
22+
1623
# Allocate hugepages of each type
1724
echo -n "File '${HUGEPAGES_2M_CONF}' "
1825
if [ -f $HUGEPAGES_2M_CONF ]; then
@@ -34,15 +41,37 @@ echo $HUGEPAGES_1G_NUMBER > $HUGEPAGES_1G_SYSFILE
3441

3542
# Create hugetlbfs mounts in /var/lib/hugetlbfs/global/...
3643
echo "Creating hugetlbfs mounts"
37-
hugeadm --create-global-mounts
44+
if [ "$FOUND_HUGEADM" == "1" ]; then
45+
hugeadm --create-global-mounts
46+
else
47+
for sz in 2M 1G; do
48+
MPDIR=/var/lib/hugetlbfs/global/pagesize-${sz}B
49+
mountpoint -q $MPDIR
50+
if [ "$?" -ne 0 ]; then
51+
echo "Mounting $MPDIR"
52+
mount -t hugetlbfs -o pagesize=${sz} none $MPDIR
53+
chown root:root $MPDIR
54+
chmod 1777 $MPDIR
55+
else
56+
echo "Already mounted: $MPDIR"
57+
fi
58+
done
59+
fi
3860
echo "Setting permissions on hugeltbfs mounts"
3961
chgrp -R pda /var/lib/hugetlbfs/global/*
4062
chmod -R g+rwx /var/lib/hugetlbfs/global/*
4163

4264
# Display hugepage status
4365
echo ""
4466
echo "Hugepages:"
45-
hugeadm --pool-list
67+
if [ "$FOUND_HUGEADM" == "1" ]; then
68+
hugeadm --pool-list
69+
else
70+
echo -n "Number of 2MB hugepages: "
71+
cat $HUGEPAGES_2M_SYSFILE
72+
echo -n "Number of 1GB hugepages: "
73+
cat $HUGEPAGES_1G_SYSFILE
74+
fi
4675
echo ""
4776
echo "Use 'echo [number] > /sys/kernel/mm/hugepages/hugepages-[size]/nr_hugepages' to allocate hugepages manually"
4877
echo "Or set a number in the following conf files and run the script again:"

0 commit comments

Comments
 (0)