xref: /spdk/scripts/prep_benchmarks.sh (revision f86f10757912918b8ba7b4b3bfdab1cd4c2d180c)
1#!/usr/bin/env bash
2
3echo -n "Placing all CPUs in performance mode..."
4for governor in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
5	echo -n performance > $governor
6done
7echo "Done"
8
9echo -n "Disabling irqbalance service..."
10service irqbalance stop 2> /dev/null
11echo "Done"
12
13echo -n "Moving all interrupts off of core 0..."
14count=`expr $(nproc) / 4`
15cpumask="e"
16for ((i=1; i<$count; i++)); do
17	if [ `expr $i % 8` -eq 0 ]; then
18		cpumask=",$cpumask"
19	fi
20	cpumask="f$cpumask"
21done
22for file in /proc/irq/*/smp_affinity; do
23	echo "$cpumask" > $file 2> /dev/null
24done
25echo "Done"
26
27echo -n "Configuring kernel blk-mq for for NVMe SSDs..."
28for queue in /sys/block/nvme*n*/queue; do
29	if [ -f "$queue/nomerges" ]; then
30		echo "1" > $queue/nomerges
31	fi
32
33	if [ -f "$queue/io_poll" ]; then
34		echo "1" > $queue/io_poll
35	fi
36
37	if [ -f "$queue/io_poll_delay" ]; then
38		echo "-1" > $queue/io_poll_delay
39	fi
40done
41echo "Done"
42