<?xml version="1.0"?>
<!DOCTYPE flagsdescription SYSTEM "http://www.spec.org/dtd/cpuflags2.dtd">

<flagsdescription>

<!--
######################################################################################################
       This platform flags file is supplied as an example. Please document bios/firmware settings in your
       systems that are set to non-default values for performance runs.  

       You MUST change the filename tag just below; at the very least, change "Invalid" to your company name.
######################################################################################################
-->

<filename>Supermicro-Platform-Settings-V1.2-RKL-revA</filename>

<title>SPEC CPU2017 Platform Settings for Supermicro Systems</title>

<os_tuning>
<![CDATA[
<dl>

<dt><b>CPUFreq scaling governor</b>:</dt>
 <dd>
  <p>Governors are power schemes for the CPU. It is in-kernel pre-configured power schemes for the CPU and allows you to change the clock speed of the CPUs on the fly. On Linux systems can set the govenor for all CPUs through the cpupower utility with the following command:</p>
  <ul>
   <li>"cpupower -c all frequency-set -g governor"</li>
  </ul>
  <p>Below are govenors in the Linux kernel.</p>
  <ul>
   <li><b>performance</b>: Run the CPU at the maximum frequency.</li>
   <li><b>powersave</b>: Run the CPU at the minimum frequency.</li>
   <li><b>userspace</b>: Run the CPU at user specified frequencies.</li>
   <li><b>ondemand</b>: Scales the frequency dynamically according to current load. Jumps to the highest frequency and then possibly back off as the idle time increases.</li>
   <li><b>conservative</b>: Scales the frequency dynamically according to current load. Scales the frequency more gradually than ondemand.</li>
   <li><b>schedutil</b>: Scheduler-driven CPU frequency selection.</li>
  </ul>
 </dd>

<dt><b>tuned-adm</b>:</dt>
 <dd>
  <p>A commandline interface for switching between different tuning profiles available in supported Linux distributions. The distribution provided profiles are located in /usr/lib/tuned and the user defined profiles in /etc/tuned. To set a profile, one can issue the command "tuned-adm profile (profile_name)". Below are details about some relevant profiles. </p>
  <ul>
   <li><b>throughput-performance</b>: For typical throughput performance tuning. Disables power saving mechanisms and enables sysctl settings that improve the throughput performance of disk and network I/O. CPU governor is set to performance and CPU energy performance bias is set to performance. Disk readahead values are increased.</li>
   <li><b>latency-performance</b>: For low latency performance tuning. Disables power saving mechanisms. CPU governor is set to performance and locked to the low C states. CPU energy performance bias to performance.</li>
   <li><b>balanced</b>: Default profile provides balanced power saving and performance. It enables CPU and disk plugins of tuned and makes the conservative governor is active and also sets the CPU energy performance bias to normal. It also enables power saving on audio and graphics card.</li>
   <li><b>powersave</b>: Maximal power saving for whole system. It sets the CPU governor to ondemand governor and energy performance bias to powersave. It also enable power saving on USB, SATA, audio and graphics card.</li>
  </ul>
 </dd>
 
</dl>
]]>
</os_tuning>

</flagsdescription>
