aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFengguang Wu <fengguang.wu@intel.com>2012-11-27 20:21:57 +0800
committerFengguang Wu <fengguang.wu@intel.com>2012-11-27 20:29:08 +0800
commitcd8fbb52fd4790e35eab4eedd5fa78d98d14e2d8 (patch)
tree2da4d66b2235109ee3e50cb6b9015cb3f7ec800a
parent4966a0b6e19d4588767893002357cf9bc7c181d4 (diff)
downloadvm-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-hugepages38
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