blob: 9d877d46386ae6e54523ade5a8bb0508117a4c5c [file] [log] [blame]
# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
kernel_cmdline("serial-legacy") {
args = [ "kernel.serial=legacy" ]
deps = [ "//build/validate:non_production_tag" ]
kernel_cmdline("toulouse") {
args = [
# Fuchsia does not have a deterministic ordering for bringing up PCI devices, so the
# /dev/class/ethernet/xxx paths have no well-defined mapping to the ports on the front of the
# device.
# In order for netbooting and loglistener to work, we need to let netsvc know which path corresponds
# to the left-most ethernet port.
kernel_cmdline("x64-reduced-perf-variation") {
args = [
# Disable Intel Turbo Boost. Turbo Boost provides a significant speed-up to
# many workloads, but — because CPU frequencies vary based on previous work,
# work in other cores, system temperature, etc — makes performance of systems
# less predictable. We prefer stability in our performance comparison
# benchmarks.
# Set the Intel HWP performance profile to be "stable", trying to keep the
# CPU clock rate stable. With turbo boost disabled, this has only a small
# effect, but helps ensure that wake ups from idle are fixed.
# Disable hyper-threading. Hyper-threading reduces predictability of
# benchmarks, because the performance of a thread is significantly affected
# by other threads on the core.
# Disable spectre mitigations. Spectre mitigations have significant
# performance impact, but are currently only carried out on a subset of the
# NUC fleet. This means that different devices have significantly different
# performance characteristics, meaning that benchmark results vary
# significantly based on the device running it.
# TODO( Ideally, we should load microcode during Zircon boot,
# which should bring all devices to the same patch level, removing the
# performance differences when spectre mitigations are in place.
# Disable page scanning in all its forms. Page scanning is intended to
# provide a memory benefit to final systems, but the operation of the scanner
# and its unpredictable de-duplication or eviction of memory in use by
# benchmarks could cause noticable variation.
kernel_cmdline("gce") {
args = [ "kernel.serial=legacy" ]
kernel_cmdline("vs680") {
args = [ "kernel.bypass-debuglog=true" ]
kernel_cmdline("c18") {
args = [ "kernel.bypass-debuglog=true" ]
kernel_cmdline("vim3") {
args = [
# Prefer using the built-in NIC to the CDC-ether interface.