DIRNAME=`dirname $0`
SCRIPTDIR=`cd "$DIRNAME" && pwd`

# MM Test Parameters
export MMTESTS="sysbench dedup pft specjbb freqmine-medium kernbench gitcheckout wis-futex wis-malloc wis-pf wis-getppid wis-sched wis-pthreadmutex wis-signal wis-pipe wis-eventfd wis-posixsems reaim"
export RUN_WARMUP=

# Profiling parameters
export RUN_NOPROFILE=yes
export RUN_FINEPROFILE=no
export RUN_COARSEPROFILE=no
export OPROFILE_REPORT_ANNOTATE=no

# Fixups
if [ "`which check-confidence.pl 2> /dev/null`" = "" ]; then
	export PATH=$SCRIPTDIR/bin:$PATH
fi
if [ "`which record-extfrag 2> /dev/null`" = "" ]; then
	export PATH=$SCRIPTDIR/fraganalysis:$PATH
fi
if [ "`which oprofile_report.sh 2> /dev/null`" = "" ]; then
	export PATH=$SCRIPTDIR/vmr/bin:$PATH
fi

# Machine configuration
# Swap configuration can be one of default, partitions, swapfile, NFS
#export RUN_TUNINGS="$RUN_TUNINGS sysctl"
#export VM_DIRTY_RATIO=20
export VM_TRANSPARENT_HUGEPAGES_DEFAULT=default
export SWAP_CONFIGURATION=default
export SWAP_PARTITIONS=
export SWAP_SWAPFILE_SIZEMB=$((MEMTOTAL_BYTES/1048576))
export SWAP_NFS_MOUNT=192.168.10.7:/exports/`hostname`-swapfile
export SWAP_NBD_DEVICE=/dev/nbd0
export SWAP_NBD_HOST=mcp
export SWAP_NBD_PORT=
#export MEMCG_SIZE=$((MEMTOTAL_BYTES/2))

# Log disk to setup (optional)
#export LOGDISK_PARTITION=/dev/ram0
#export LOGDISK_FILESYSTEM=ext3
#export LOGDISK_MKFS_PARAM=""
#export LOGDISK_MOUNT_ARGS=""

# Test disk to setup (optional)
#export TESTDISK_RAID_DEVICES=
#export TESTDISK_RAID_MD_DEVICE=/dev/md0
#export TESTDISK_RAID_OFFSET=63
#export TESTDISK_RAID_SIZE=250019532
#export TESTDISK_RAID_TYPE=raid0
#export TESTDISK_PARTITION=/dev/sda6
#export TESTDISK_FILESYSTEM=ext3
#export TESTDISK_MKFS_PARAM=""
#export TESTDISK_MOUNT_ARGS=""
#
# Test NFS disk to setup (optional)
#export TESTDISK_NFS_MOUNT=192.168.10.7:/exports/`hostname`
#
# Test NBD disk to setup (optional)
#export TESTDISK_NBD_DEVICE=/dev/nbd0
#export TESTDISK_NBD_HOST=mcp
#export TESTDISK_NBD_PORT=100`ifconfig eth0 | sed -n 2p | cut -d ":" -f2 | cut -d " " -f1 | cut -d "." -f4`

# List of monitors
export RUN_MONITOR=yes
export MONITORS_ALWAYS=
export MONITORS_PLAIN=
export MONITORS_GZIP="proc-vmstat top slabinfo numa-numastat numa-meminfo numa-convergence"
export MONITORS_WITH_LATENCY="vmstat iostat"
export DEFERRED_MONITORS=
export MONITOR_UPDATE_FREQUENCY=10
export MONITOR_FTRACE_EVENTS=
export MONITOR_PERF_EVENTS=cpu-migrations,context-switches


# Page Fault Test (PFT)
export PFT_ITERATIONS=20
export PFT_MAPPING_SIZE=$((MEMTOTAL_BYTES/5))
export PFT_MAX_CLIENTS=$NUMCPUS
export PFT_USE_PROCESSES=yes
export PFT_PAGESIZES=base

# dedup
export DEDUP_ITERATIONS=4
export DEDUP_MIN_THREADS=2
export DEDUP_MAX_THREADS=4
export DEDUP_FILE=$WEBROOT/compress/vm-image.gz


# freqmine
export FREQMINE_ITERATIONS=4
export FREQMINE_MIN_THREADS=2
export FREQMINE_MAX_THREADS=$((NUMCPUS*4))

# sysbench
export OLTP_CACHESIZE=$(($MEMTOTAL_BYTES/2))
export OLTP_SHAREDBUFFERS=$((MEMTOTAL_BYTES/4))
export OLTP_PAGESIZES="default"
#export SYSBENCH_DRIVER=postgres
#export SYSBENCH_MAX_TRANSACTIONS=auto
#export SYSBENCH_READONLY=yes
#export SYSBENCH_MAX_THREADS=$((NUMCPUS))
#export SYSBENCH_ITERATIONS=3
#export SYSBENCH_WORKLOAD_SIZE=$((MEMTOTAL_BYTES*3/4))
#export SYSBENCH_CACHE_COLD=no
#export DATABASE_INIT_ONCE=yes

# sysbench
export SYSBENCH_DRIVER=mariadb
export SYSBENCH_MAX_TRANSACTIONS=auto
export SYSBENCH_READONLY=
export SYSBENCH_MAX_THREADS=$((NUMCPUS))
export SYSBENCH_ITERATIONS=3
export SYSBENCH_WORKLOAD_SIZE=$((MEMTOTAL_BYTES*3/4))
export SYSBENCH_CACHE_COLD=no
export DATABASE_INIT_ONCE=yes

# kernbench
export KERNBENCH_ITERATIONS=5
export KERNBENCH_MIN_THREADS=2
export KERNBENCH_MAX_THREADS=$((NUMCPUS*2))

# Git checkout
export GITCHECKOUT_SOURCETAR=$WEBROOT/gitcheckout/linux-2.6.tar.gz
export GITCHECKOUT_SOURCE=$SSHROOT/linux-2.6
export GITCHECKOUT_COMMITS=v2.6.14,v3.2,v2.6.16,v3.4,v2.6.18
export GITCHECKOUT_ITERATIONS=15
export GITCHECKOUT_CACHE=hot

# will-it-scale
export WIS_ITERATIONS=5
export WIS_MIN_THREADS=2
export WIS_MAX_THREADS=$((NUMCPUS*4))
export WIS_MODELS="processes,threads"

# SPECjbb - max heap 60% of memory.
# Total heap is divided between number of instances
export SPECJBB_JRE=/opt/java/jre/bin
export SPECJBB_STARTING_WAREHOUSES=1
export SPECJBB_INCREMENT_WAREHOUSES=1
export SPECJBB_ENDING_WAREHOUSES=$NUMCPUS
export SPECJBB_JVM_INSTANCES=1
export SPECJBB_MAXHEAP_TOTAL_MB=$((MEMTOTAL_BYTES*6/10/1048576))
export SPECJBB_MAXHEAP=-Xmx$(($SPECJBB_MAXHEAP_TOTAL_MB/$SPECJBB_JVM_INSTANCES))m
export SPECJBB_PAGESIZES="default"
#export SPECJBB_PAGESIZES="base huge"
export SPECJBB_HUGESWITCH=-Xlp

# Re-aim
export REAIM_FILESIZE=10k
export REAIM_POOLSIZE=1m
export REAIM_STARTUSERS=1
export REAIM_INCREMENT=$((NUMCPUS/2))
export REAIM_ENDUSERS=$((NUMCPUS*4+REAIM_INCREMENT))
export REAIM_ITERATIONS=5
export REAIM_WORKFILES="workfile.compute workfile.shared workfile.new_dbase"
export REAIM_EXCLUDE=signal_test
