diff options
author | Fengguang Wu <fengguang.wu@intel.com> | 2012-11-27 20:21:57 +0800 |
---|---|---|
committer | Fengguang Wu <fengguang.wu@intel.com> | 2012-11-27 20:29:08 +0800 |
commit | cd8fbb52fd4790e35eab4eedd5fa78d98d14e2d8 (patch) | |
tree | 2da4d66b2235109ee3e50cb6b9015cb3f7ec800a | |
parent | 4966a0b6e19d4588767893002357cf9bc7c181d4 (diff) | |
download | vm-scalability-cd8fbb52fd4790e35eab4eedd5fa78d98d14e2d8.tar.gz |
Abhinav's work on case-mincore-hugepages
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
-rw-r--r-- | case-mincore-hugepages | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/case-mincore-hugepages b/case-mincore-hugepages new file mode 100644 index 0000000..40ffbfa --- /dev/null +++ b/case-mincore-hugepages @@ -0,0 +1,38 @@ +#!/bin/bash + +# +# Exercises code in mincore.c mm/ +# + +source ./hw_vars + +# set number of hugepages in the system +echo never > /sys/kernel/mm/transparent_hugepage/enabled +echo $((mem/Hugepagesize/1024 / 20)) > /proc/sys/vm/nr_hugepages +echo $((mem/Hugepagesize/1024 / 10)) > /proc/sys/vm/nr_overcommit_hugepages + +#check for max shared memory allowed on system +MAX_HUGEPAGES=$(($(</proc/sys/vm/nr_hugepages)+$(</proc/sys/vm/nr_overcommit_hugepages))) + +#segment size being requested +SHM_SIZE=$(($MAX_HUGEPAGES*$hugepagesize / nr_cpu)) + +#set shmmax to accommodate the request +echo $SHM_SIZE > /proc/sys/kernel/shmmax + +#check to see if the request can be satisfied else exit with error +MAX_SHARE_SEGMENT=$(</proc/sys/kernel/shmmax) +if [ $SHM_SIZE -gt $MAX_SHARE_SEGMENT ] +then + echo "Cannot allocate more shared memory segment than $MAX_SHARE_SEGMENT" + echo "exiting now..." + exit 1 #exit on failure +fi + +create_sparse_file $SPARSE_FILE $SHM_SIZE + +$USEMEM -t $nr_cpu -f $SPARSE_FILE -H --prealloc --readonly --random $SHM_SIZE + +echo always > /sys/kernel/mm/transparent_hugepage/enabled + +rm $SPARSE_FILE |