Merge "Updated Pods Using isolcpus supporting K8s 1.22 and later versions (dsr8, r8)"

This commit is contained in:
Zuul 2023-05-12 17:45:02 +00:00 committed by Gerrit Code Review
commit 281c5645c8
2 changed files with 20 additions and 2 deletions

View File

@ -37,6 +37,23 @@ For example:
~(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,4 controller-0
~(keystone_admin)]$ system host-cpu-modify -f application-isolated -c 3-5 controller-0 ~(keystone_admin)]$ system host-cpu-modify -f application-isolated -c 3-5 controller-0
In |this-ver| starting with K8s 1.22, allocation of isolcpus is in an HT-aware
manner.
.. note::
This does not apply to K8s 1.21 that you would use after a platform upgrade.
If an even number of isolcpus is required, |HT| siblings will be provided as
available. If an odd number of isolcpus is required, as many |HT| siblings as
possible will be provided.
.. note::
For optimal results, if |HT| is enabled then isolcpus should be
allocated in multiples of two in order to ensure that both |SMT| siblings
are allocated to the same container.
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
@ -53,7 +70,7 @@ see :ref:`Kubernetes CPU Manager Policies <kubernetes-cpu-manager-policies>`.
number of isolcpus are requested it will provide as many |SMT| siblings as number of isolcpus are requested it will provide as many |SMT| siblings as
are available, then allocate singletons whose sibling has already been are available, then allocate singletons whose sibling has already been
allocated, then allocate one sibling from a free |SMT| sibling pair. If allocated, then allocate one sibling from a free |SMT| sibling pair. If
hyperthreading is enabled in the BIOS then containers should request isolcpus |HT| 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 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. different containers being allocated |SMT| siblings from the same core.

View File

@ -58,6 +58,7 @@
.. |GCC| replace:: :abbr:`GCC (GNU Compiler Collection)` .. |GCC| replace:: :abbr:`GCC (GNU Compiler Collection)`
.. |GPU| replace:: :abbr:`GPU (Graphics Processing Unit)` .. |GPU| replace:: :abbr:`GPU (Graphics Processing Unit)`
.. |HA| replace:: :abbr:`HA (High Availability)` .. |HA| replace:: :abbr:`HA (High Availability)`
.. |HT| replace:: :abbr:`HT (HyperThreading)`
.. |ICA| replace:: :abbr:`ICA (Intermediate Certificate Authority)` .. |ICA| replace:: :abbr:`ICA (Intermediate Certificate Authority)`
.. |ICAs| replace:: :abbr:`ICAs (Intermediate Certificate Authorities)` .. |ICAs| replace:: :abbr:`ICAs (Intermediate Certificate Authorities)`
.. |ICMP| replace:: :abbr:`ICMP (Internet Control Message Protocol)` .. |ICMP| replace:: :abbr:`ICMP (Internet Control Message Protocol)`
@ -144,7 +145,7 @@
.. |SMT| replace:: :abbr:`SMT (Simultaneous Multithreading)` .. |SMT| replace:: :abbr:`SMT (Simultaneous Multithreading)`
.. |SNAT| replace:: :abbr:`SNAT (Source Network Address Translation)` .. |SNAT| replace:: :abbr:`SNAT (Source Network Address Translation)`
.. |SNMP| replace:: :abbr:`SNMP (Simple Network Management Protocol)` .. |SNMP| replace:: :abbr:`SNMP (Simple Network Management Protocol)`
.. |SPO| replace:: :abbr:`SPO (Security Profile Operator)` .. |SPO| replace:: :abbr:`SPO (Security Profiles Operator)`
.. |SRIOV| replace:: :abbr:`SR-IOV (Single Root I/O Virtualization)` .. |SRIOV| replace:: :abbr:`SR-IOV (Single Root I/O Virtualization)`
.. |SRIOVs| replace:: :abbr:`SR-IOVs (Single Root I/O Virtualizations)` .. |SRIOVs| replace:: :abbr:`SR-IOVs (Single Root I/O Virtualizations)`
.. |SSD| replace:: :abbr:`SSD (Solid State Drive)` .. |SSD| replace:: :abbr:`SSD (Solid State Drive)`