#!/bin/sh
# Run sequential write tests

# Filesystem created from all pci-e devices from node 0 has been mounted
# at /test/clameter

# The caller presumably has restricted allocations and processors to node 0
# cat /proc/$$/status

if false; then
sync
sleep 10
echo
echo "DD: Regular I/O"
echo "-------------------------"
dd if=/dev/zero of=/test0/clameter/seqtest bs=2M count=2k conv=fsync


sync
sleep 10
echo
echo "DD: Direct I/O"
echo "-------------------------"
dd if=/dev/zero of=/test0/clameter/seqtest bs=2M count=2k conv=fsync oflag=direct

fi

DEFOPTS="--name=global --rw=write --size=4G --blocksize=2M --fsync_on_close=1 --iodepth=4"

NUMA0="--numa_cpu_nodes=0 --numa_mem_policy=bind:0 --filename=/test0/clameter/seqtest"
NUMA1="--numa_cpu_nodes=1 --numa_mem_policy=bind:1 --filename=/test1/clameter/seqtest"


sync
sleep 10
echo
echo "Regular I/O Single thread. Node 0"
echo "---------------------------------"
fio $DEFOPTS --name=job1 $NUMA0| grep " WRITE:"

sync
sleep 10
echo
echo "Direct I/O Single thread. Node 0"
echo "--------------------------------"
fio $DEFOPTS --direct=1 --name=job1 $NUMA0| grep " WRITE:"

sync
sleep 10
echo
echo "Regular I/O Single thread. Node 1"
echo "---------------------------------"
fio $DEFOPTS --name=job1 $NUMA1| grep " WRITE:"

sync
sleep 10
echo
echo "Direct I/O Single thread. Node 1"
echo "--------------------------------"
fio $DEFOPTS --direct=1 --name=job1 $NUMA1| grep " WRITE:"


# 2 threads test on two numa nodes

THREADOPTS="--name=job1 $NUMA0 --name=job2 $NUMA1"
sync
sleep 10
echo
echo "Regular I/O 2 threads on 2 nodes"
echo "-------------------------------"

fio $DEFOPTS $THREADOPTS | grep " WRITE:"

sync
sleep 10
echo
echo "Direct I/O 2 threads on 2 nodes"
echo "-------------------------------"

fio $DEFOPTS --direct=1 $THREADOPTS | grep " WRITE:"


# 4 thread tests

#THREADOPTS="--name=job1 --name=job2"
THREADOPTS="--name=job1 $NUMA0 --name=job2 $NUMA0 --name=job3 $NUMA1 --name=job4 $NUMA1"
sync
sleep 10
echo
echo "Regular I/O 4 threads ( 2 on 2 nodes)"
echo "-------------------------------------"

fio $DEFOPTS $THREADOPTS | grep " WRITE:"

sync
sleep 10
echo
echo "Direct I/O 4 threads ( 2 on 2 nodes)"
echo "------------------------------------"

fio $DEFOPTS --direct=1 $THREADOPTS | grep " WRITE:"



