numam-spdk/scripts/prep_benchmarks.sh
Michal Berger 844c8ec383 check_format: Reformat the Bash code in compliance with shfmt
Change-Id: I93e7b9d355870b0528a0ac3382fba1a10a558d45
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1718
Community-CI: Mellanox Build Bot
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-05-07 20:52:21 +00:00

74 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
function configure_performance() {
echo -n "Placing all CPUs in performance mode..."
for governor in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
echo -n performance > $governor
done
echo "Done"
if [ -f "/sys/devices/system/cpu/intel_pstate/no_turbo" ]; then
echo -n "Disabling Turbo Boost..."
echo -n 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
echo "Done"
fi
echo -n "Disabling irqbalance service..."
service irqbalance stop 2> /dev/null
echo "Done"
echo -n "Moving all interrupts off of core 0..."
count=$(($(nproc) / 4))
cpumask="e"
for ((i = 1; i < count; i++)); do
if [ $((i % 8)) -eq 0 ]; then
cpumask=",$cpumask"
fi
cpumask="f$cpumask"
done
for file in /proc/irq/*/smp_affinity; do
echo "$cpumask" > $file 2> /dev/null
done
echo "Done"
echo -n "Configuring kernel blk-mq for NVMe SSDs..."
for queue in /sys/block/nvme*n*/queue; do
if [ -f "$queue/nomerges" ]; then
echo "1" > $queue/nomerges
fi
if [ -f "$queue/io_poll" ]; then
echo "1" > $queue/io_poll
fi
if [ -f "$queue/io_poll_delay" ]; then
echo "-1" > $queue/io_poll_delay
fi
done
echo "Done"
}
function reset_performance() {
echo -n "Placing all CPUs in powersave mode..."
for governor in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
echo -n powersave > $governor
done
echo "Done"
if [ -f "/sys/devices/system/cpu/intel_pstate/no_turbo" ]; then
echo -n "Enabling Turbo Boost..."
echo -n 0 > /sys/devices/system/cpu/intel_pstate/no_turbo
echo "Done"
fi
echo -n "Enabling irqbalance service..."
service irqbalance start 2> /dev/null
echo "Done"
}
if [ "$1" = "reset" ]; then
reset_performance
else
configure_performance
fi