From c7554d0aa774bc90416a0b81142ac85ecd8c0860 Mon Sep 17 00:00:00 2001 From: Juanita-Balaraj Date: Thu, 16 Feb 2023 14:49:53 -0500 Subject: [PATCH] Updated Examples for Application-isolated cores (r5, r6, dsr6, r7, dsr7, r8, dsr8) Closes Bug: 2007586 Signed-off-by: Juanita-Balaraj Change-Id: Id0728682dafe03e362fccfade4092752f9613f98 (cherry picked from commit 010575bf191092221af0a5402d50734115a310c3) --- ...res-to-enhance-application-performance.rst | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/doc/source/admintasks/kubernetes/isolating-cpu-cores-to-enhance-application-performance.rst b/doc/source/admintasks/kubernetes/isolating-cpu-cores-to-enhance-application-performance.rst index 2d8a72bf0..b4e732384 100644 --- a/doc/source/admintasks/kubernetes/isolating-cpu-cores-to-enhance-application-performance.rst +++ b/doc/source/admintasks/kubernetes/isolating-cpu-cores-to-enhance-application-performance.rst @@ -2,9 +2,9 @@ .. bew1572888575258 .. _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 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-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 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 @@ -33,9 +44,16 @@ from the process scheduler. .. only:: partner - .. include:: /_includes/isolating-cpu-cores-to-enhance-application-performance.rest - :start-after: usage-limitation-begin - :end-before: usage-limitation-end +.. note:: + + |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 platform CPUs or changing isolated CPUs to application CPUs on a host, ensure