systemd DropIn to disable software CPUShares on systemcontroller
Based on DC scale batch subcloud prestage operations, it was observed 80 cores fully utilized zero idle, causing starvation of software API. The software-controller-daemon process was spreading work over multiple seconds. Any processes used for DC operations are payload and should fight for CPU equally. This updates the list of systemd services that require disabled CPUShares instead of having the reduced value 128 on all other nodes. This adds: software-controller-daemon, software, and sw-patch-controller-daemon. Partial-Bug: 2092319 TEST PLAN: - PASS: Fresh install DC lab - PASS: Verify systemcontroller DropIn files are created with CPUShares=1024 for: software-controller-daemon, software, sw-patch-controller-daemon Change-Id: I1c7b4e0c19e9209c59a70bb6b1826e18fdf59335 Signed-off-by: Jim Gauld <James.Gauld@windriver.com>
This commit is contained in:
parent
507ff44f47
commit
afbc586f86
@ -115,10 +115,22 @@ class platform::dcmanager
|
||||
# Batch operations require extremely parallel cpu intensive usage
|
||||
# of both these cgroups. The dc services currently inherit the
|
||||
# sm.service cgroup; the sm.service override is generated by sm.pp.
|
||||
# We do not want to affect software API performance.
|
||||
# We also remove the settings for services: pmon, sysinv-agent,
|
||||
# collectd, fm-api, sm-api. There is no reason to limit their
|
||||
# CPUShares on systemcontroller.
|
||||
$service_names = [ 'pmon', 'ssh', 'sysinv-agent', 'collectd', 'fm-api', 'sm-api' ]
|
||||
# collectd, fm-api, sm-api, software-controller-daemon,
|
||||
# software, sw-patch-controller-daemon.
|
||||
# There is no reason to limit their CPUShares on systemcontroller.
|
||||
$service_names = [
|
||||
'pmon',
|
||||
'ssh',
|
||||
'sysinv-agent',
|
||||
'collectd',
|
||||
'fm-api',
|
||||
'sm-api',
|
||||
'software-controller-daemon',
|
||||
'software',
|
||||
'sw-patch-controller-daemon'
|
||||
]
|
||||
$services = $service_names.map |$var| { "${var}.service" }
|
||||
$services_string = join($services, ' ')
|
||||
$dirs = $service_names.map |$var| { "/etc/systemd/system/${var}.service.d" }
|
||||
|
Loading…
Reference in New Issue
Block a user