scripts/setup: allow specifying numa node to allocate hugepages on
The setup.sh can now be invoked as following: ``` HUGENODE=0 NRHUGE=5 ./scripts/setup.sh HUGENODE=1 NRHUGE=3 ./scripts/setup.sh ``` This will allocate 5 hugepages on node0, and 3 hugepages on node1. If HUGENODE param is not specified, the setup.sh will operate just like it used to. Change-Id: Ib198f5f32203abcc646af3c8d823f2b3e9bce362 Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/384086 Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
e098347a17
commit
7ef370dc8f
@ -138,7 +138,14 @@ function configure_linux {
|
||||
mkdir -p "$hugetlbfs_mount"
|
||||
mount -t hugetlbfs nodev "$hugetlbfs_mount"
|
||||
fi
|
||||
echo "$NRHUGE" > /proc/sys/vm/nr_hugepages
|
||||
|
||||
if [ -z "$HUGENODE" ]; then
|
||||
hugepages_target="/proc/sys/vm/nr_hugepages"
|
||||
else
|
||||
hugepages_target="/sys/devices/system/node/node${HUGENODE}/hugepages/hugepages-${HUGEPGSZ}kB/nr_hugepages"
|
||||
fi
|
||||
|
||||
echo "$NRHUGE" > "$hugepages_target"
|
||||
|
||||
if [ "$driver_name" = "vfio-pci" ]; then
|
||||
if [ "$username" != "" ]; then
|
||||
@ -328,8 +335,9 @@ fi
|
||||
: ${HUGEMEM:=2048}
|
||||
|
||||
if [ `uname` = Linux ]; then
|
||||
HUGEPGSZ=$(( `grep Hugepagesize /proc/meminfo | cut -d : -f 2 | tr -dc '0-9'` / 1024 ))
|
||||
: ${NRHUGE=$(( (HUGEMEM + HUGEPGSZ - 1) / HUGEPGSZ ))}
|
||||
HUGEPGSZ=$(( `grep Hugepagesize /proc/meminfo | cut -d : -f 2 | tr -dc '0-9'` ))
|
||||
HUGEPGSZ_MB=$(( $HUGEPGSZ / 1024 ))
|
||||
: ${NRHUGE=$(( (HUGEMEM + HUGEPGSZ_MB - 1) / HUGEPGSZ_MB ))}
|
||||
|
||||
if [ "$mode" == "config" ]; then
|
||||
configure_linux
|
||||
|
Loading…
Reference in New Issue
Block a user