Set uniform PM-QoS value for all cpus on lowlatency nodes
We observed poor cyclictest results on lowlatency nodes. This was due to the fact that we were trying to save power by only marking in-use CPUs as low-latency, but there was an underlying issue where any high-latency CPUs result in a latency hit for all other CPUs. As a workaround to provide consistent low-latency performance, set all CPUs to only sleep as deep as C1 on lowlatency nodes. Change-Id: Idd627eee6e7ff95939e428b180d07d8ab1cadad2 Partial-Bug: 1845735 Signed-off-by: Jim Gauld <james.gauld@windriver.com>
This commit is contained in:
parent
144b5668ff
commit
c4bdce8ca2
|
@ -1,2 +1,2 @@
|
|||
SRC_DIR="sysinv"
|
||||
TIS_PATCH_VER=337
|
||||
TIS_PATCH_VER=338
|
||||
|
|
|
@ -546,16 +546,11 @@ class PlatformPuppet(base.BasePuppet):
|
|||
vswitch_cpus = self._get_host_cpu_list(
|
||||
host, constants.VSWITCH_FUNCTION, threads=True)
|
||||
vswitch_cpuset = set([c.cpu for c in vswitch_cpus])
|
||||
vswitch_ranges = utils.format_range_set(vswitch_cpuset)
|
||||
|
||||
# non-platform logical cpus
|
||||
rcu_nocbs_cpuset = host_cpuset - platform_cpuset
|
||||
rcu_nocbs_ranges = utils.format_range_set(rcu_nocbs_cpuset)
|
||||
|
||||
# non-vswitch logical cpus
|
||||
non_vswitch_cpuset = host_cpuset - vswitch_cpuset
|
||||
non_vswitch_ranges = utils.format_range_set(non_vswitch_cpuset)
|
||||
|
||||
# isolated logical cpus
|
||||
app_isolated_cpus = self._get_host_cpu_list(
|
||||
host, constants.ISOLATED_FUNCTION, threads=True)
|
||||
|
@ -565,11 +560,12 @@ class PlatformPuppet(base.BasePuppet):
|
|||
cpu_ranges = {}
|
||||
|
||||
if constants.LOWLATENCY in host.subfunctions:
|
||||
# set PM QoS latency that achieves C1 state for all cpus
|
||||
config.update({
|
||||
'platform::compute::pmqos::low_wakeup_cpus':
|
||||
"\"%s\"" % vswitch_ranges,
|
||||
"\"%s\"" % host_ranges,
|
||||
'platform::compute::pmqos::hight_wakeup_cpus':
|
||||
"\"%s\"" % non_vswitch_ranges,
|
||||
"\"%s\"" % "",
|
||||
})
|
||||
cpu_ranges.update({"nohz_full": rcu_nocbs_ranges})
|
||||
|
||||
|
|
Loading…
Reference in New Issue