Merge "Updated Examples for Application-isolated cores (r5, r6, dsr6, r7, dsr7, r8, dsr8)" into r/stx.5.0

This commit is contained in:
Zuul
2023-05-05 10:30:02 +00:00
committed by Gerrit Code Review

View File

@@ -2,9 +2,9 @@
.. bew1572888575258 .. bew1572888575258
.. _isolating-cpu-cores-to-enhance-application-performance: .. _isolating-cpu-cores-to-enhance-application-performance:
======================================================== ====================================================
Isolate the CPU Cores to Enhance Application Performance Isolate CPU Cores to Enhance Application Performance
======================================================== ====================================================
|prod| supports running the most critical low-latency applications on host CPUs |prod| supports running the most critical low-latency applications on host CPUs
which are completely isolated from the host process scheduler. which are completely isolated from the host process scheduler.
@@ -26,6 +26,17 @@ For example:
~(keystone)admin)$ system host-cpu-modify -f application-isolated -p1 15 worker-1 ~(keystone)admin)$ system host-cpu-modify -f application-isolated -p1 15 worker-1
~(keystone)admin)$ system host-unlock worker-1 ~(keystone)admin)$ system host-unlock worker-1
.. note::
It is possible to explicitly specify 1 or more cores or a range of cores to
be application-isolated:
.. code-block::
~(keystone_admin)]$ system host-cpu-modify -f application-isolated -c 3 controller-0
~(keystone_admin)]$ system host-cpu-modify -f application-isolated -c 3,4 controller-0
~(keystone_admin)]$ system host-cpu-modify -f application-isolated -c 3-5 controller-0
All |SMT| siblings (hyperthreads, if enabled) on a core will have the same All |SMT| siblings (hyperthreads, if enabled) on a core will have the same
assigned function. On host boot, any CPUs designated as isolated will be assigned function. On host boot, any CPUs designated as isolated will be
specified as part of the isolcpus kernel boot argument, which will isolate them specified as part of the isolcpus kernel boot argument, which will isolate them
@@ -33,9 +44,16 @@ from the process scheduler.
.. only:: partner .. only:: partner
.. include:: /_includes/isolating-cpu-cores-to-enhance-application-performance.rest .. note::
:start-after: usage-limitation-begin
:end-before: usage-limitation-end |prod| isolcpus allocation is |SMT|-aware. If a container requests multiple
isolcpus it will provide |SMT| siblings to the extent possible. If an odd
number of isolcpus are requested it will provide as many |SMT| siblings as
are available, then allocate singletons whose sibling has already been
allocated, then allocate one sibling from a free |SMT| sibling pair. If
hyperthreading is enabled in the BIOS then containers should request isolcpus
in pairs. If all containers on a system do this then they will never have
different containers being allocated |SMT| siblings from the same core.
When using the static CPU manager policy before increasing the number of When using the static CPU manager policy before increasing the number of
platform CPUs or changing isolated CPUs to application CPUs on a host, ensure platform CPUs or changing isolated CPUs to application CPUs on a host, ensure