diff --git a/buildbot_test_toolchains.py b/buildbot_test_toolchains.py
index b02fc44..e4784a6 100755
--- a/buildbot_test_toolchains.py
+++ b/buildbot_test_toolchains.py
@@ -160,10 +160,6 @@
     board: %s
     remote: %s
     retries: 1
-    cooldown_temp: 40
-    cooldown_time: 10
-    cpu_freq_pct: 95
-    top_interval: 1
     """ % (self._board, self._remotes)
     experiment_tests = """
     benchmark: all_toolchain_perf {
@@ -231,8 +227,8 @@
     crosperf = os.path.join(TOOLCHAIN_DIR, 'crosperf', 'crosperf')
     noschedv2_opts = '--noschedv2' if self._noschedv2 else ''
     command = ('{crosperf} --no_email={no_email} --results_dir={r_dir} '
-               '--intel_pstate=no_hwp --logging_level=verbose '
-               '--json_report=True {noschedv2_opts} {exp_file}').format(
+               '--logging_level=verbose --json_report=True {noschedv2_opts} '
+               '{exp_file}').format(
                    crosperf=crosperf,
                    no_email=not self._test,
                    r_dir=self._reports_dir,
diff --git a/crosperf/settings_factory.py b/crosperf/settings_factory.py
index cfc4013..16e21a7 100644
--- a/crosperf/settings_factory.py
+++ b/crosperf/settings_factory.py
@@ -344,16 +344,16 @@
         TextField(
             'intel_pstate',
             description='Intel Pstate mode.\n'
-            'Supported modes: passive, no_hwp.\n'
-            'By default kernel works in active HWP mode if HWP is supported'
-            " by CPU. This corresponds to a default intel_pstate=''",
+            'Supported modes: "active", "passive", "no_hwp".\n'
+            'Default is "no_hwp" which disables hardware pstates to avoid '
+            'noise in benchmarks.',
             required=False,
-            default=''))
+            default='no_hwp'))
     self.AddField(
         BooleanField(
             'turbostat',
             description='Run turbostat process in the background'
-            ' of a benchmark',
+            ' of a benchmark. Enabled by default.',
             required=False,
             default=True))
     self.AddField(
@@ -366,9 +366,10 @@
             'With 0 - do not run top.\n'
             'NOTE: Running top with interval 1-5 sec has insignificant'
             ' performance impact (performance degradation does not exceed'
-            ' 0.3%%, measured on x86_64, ARM32, and ARM64).',
+            ' 0.3%%, measured on x86_64, ARM32, and ARM64). '
+            'The default value is 1.',
             required=False,
-            default=0))
+            default=1))
     self.AddField(
         IntegerField(
             'cooldown_temp',
@@ -376,14 +377,16 @@
             default=40,
             description='Wait until CPU temperature goes down below'
             ' specified temperature in Celsius'
-            ' prior starting a benchmark.'))
+            ' prior starting a benchmark. '
+            'By default the value is set to 40 degrees.'))
     self.AddField(
         IntegerField(
             'cooldown_time',
             required=False,
-            default=0,
+            default=10,
             description='Wait specified time in minutes allowing'
-            ' CPU to cool down. Zero value disables cooldown.'))
+            ' CPU to cool down. Zero value disables cooldown. '
+            'The default value is 10 minutes.'))
     self.AddField(
         EnumField(
             'governor',
@@ -401,7 +404,8 @@
             required=False,
             description='Setup CPU governor for all cores.\n'
             'For more details refer to:\n'
-            'https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt'))
+            'https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt. '
+            'Default is "performance" governor.'))
     self.AddField(
         EnumField(
             'cpu_usage',
@@ -413,19 +417,22 @@
             ],
             default='all',
             required=False,
-            description='Restrict usage CPUs to decrease CPU interference.\n'
-            'all - no restrictions;\n'
-            'big-only, little-only - enable only big/little cores,'
+            description='Restrict usage of CPUs to decrease CPU interference.\n'
+            '"all" - no restrictions;\n'
+            '"big-only", "little-only" - enable only big/little cores,'
             ' applicable only on ARM;\n'
-            'exclusive-cores - (for future use)'
-            ' isolate cores for exclusive use of benchmark processes.'))
+            '"exclusive-cores" - (for future use)'
+            ' isolate cores for exclusive use of benchmark processes. '
+            'By default use all CPUs.'))
     self.AddField(
         IntegerField(
             'cpu_freq_pct',
             required=False,
-            default=100,
+            default=95,
             description='Setup CPU frequency to a supported value less than'
-            ' or equal to a percent of max_freq.'))
+            ' or equal to a percent of max_freq. '
+            'CPU frequency is reduced to 95%% by default to reduce thermal '
+            'throttling.'))
 
 
 class SettingsFactory(object):
diff --git a/crosperf/settings_factory_unittest.py b/crosperf/settings_factory_unittest.py
index a633903..f190095 100755
--- a/crosperf/settings_factory_unittest.py
+++ b/crosperf/settings_factory_unittest.py
@@ -77,14 +77,14 @@
     self.assertEqual(res.GetField('cwp_dso'), '')
     self.assertEqual(res.GetField('enable_aslr'), False)
     self.assertEqual(res.GetField('ignore_min_max'), False)
-    self.assertEqual(res.GetField('intel_pstate'), '')
+    self.assertEqual(res.GetField('intel_pstate'), 'no_hwp')
     self.assertEqual(res.GetField('turbostat'), True)
-    self.assertEqual(res.GetField('top_interval'), 0)
-    self.assertEqual(res.GetField('cooldown_time'), 0)
+    self.assertEqual(res.GetField('top_interval'), 1)
+    self.assertEqual(res.GetField('cooldown_time'), 10)
     self.assertEqual(res.GetField('cooldown_temp'), 40)
     self.assertEqual(res.GetField('governor'), 'performance')
     self.assertEqual(res.GetField('cpu_usage'), 'all')
-    self.assertEqual(res.GetField('cpu_freq_pct'), 100)
+    self.assertEqual(res.GetField('cpu_freq_pct'), 95)
 
 
 class SettingsFactoryTest(unittest.TestCase):
