From b1493c1089803d03259f0f11559e1c5e3d02f054 Mon Sep 17 00:00:00 2001 From: Max Bridges Date: Fri, 30 Jan 2026 10:43:20 -0500 Subject: [PATCH] Add last-level cache locality docs for MicroShift (OSDOCS-15553) --- .../microshift-low-latency.adoc | 9 ++++ modules/microshift-low-latency-llc.adoc | 45 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 modules/microshift-low-latency-llc.adoc diff --git a/microshift_configuring/microshift_low_latency/microshift-low-latency.adoc b/microshift_configuring/microshift_low_latency/microshift-low-latency.adoc index 158841c5cf..1bd09236f8 100644 --- a/microshift_configuring/microshift_low_latency/microshift-low-latency.adoc +++ b/microshift_configuring/microshift_low_latency/microshift-low-latency.adoc @@ -25,6 +25,15 @@ include::modules/microshift-low-latency-config-yaml.adoc[leveloffset=+1] * xref:../../microshift_configuring/microshift-using-config-yaml.adoc#microshift-using-config-yaml[Customizing {microshift-short} by using the configuration file] * link:https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/#kubelet-config-k8s-io-v1beta1-KubeletConfiguration[KubeletConfiguration reference] (Kubernetes upstream documentation) +include::modules/microshift-low-latency-llc.adoc[leveloffset=+1] + +//additional resources for LLC locality +[role="_additional-resources"] +.Additional resources +* link:https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#static-policy-options[Control CPU Management Policies on the Node - Static policy options (Kubernetes documentation)] +* xref:../../microshift_configuring/microshift_low_latency/microshift-low-latency.adoc#microshift-low-latency-config-yaml_microshift-low-latency[Configuration kubelet parameters and values in {microshift-short}] +* xref:../../microshift_configuring/microshift-feature-gates.adoc#microshift-feature-gates-using_microshift-feature-gates[Using feature gates for {microshift-short}] + //RHEL TuneD include::modules/microshift-low-latency-tuned-conc.adoc[leveloffset=+1] diff --git a/modules/microshift-low-latency-llc.adoc b/modules/microshift-low-latency-llc.adoc new file mode 100644 index 0000000000..d1356c9bbe --- /dev/null +++ b/modules/microshift-low-latency-llc.adoc @@ -0,0 +1,45 @@ +// Module included in the following assemblies: +// +// microshift_configuring/microshift_low_latency/microshift-low-latency.adoc + +:_mod-docs-content-type: PROCEDURE +[id="microshift-low-latency-llc-enable_{context}"] += Enabling last-level cache locality in {microshift-short} + +[role="_abstract"] +You can align workloads with CPU cores that share the same last-level cache (LLC) to improve performance for latency-sensitive applications. To apply this alignment, enable the Kubernetes CPU Manager option `prefer-align-cpus-by-uncorecache` in {microshift}. + +:FeatureName: Last-level cache (LLC) locality +include::snippets/technology-preview.adoc[] +:FeatureName!: + +[WARNING] +==== +This feature is part of a feature gate. After you enable feature gates, you cannot disable them or update {microshift-short}, and your cluster can become unstable or lose data. Enable feature gates only in non-production environments. +==== + +.Procedure + +. Add the following content to `/etc/microshift/config.yaml`. If you already have a `kubelet` section from the earlier section, merge the `cpuManagerPolicyOptions` entry and ensure the feature gate is present. ++ +[source,yaml] +---- +apiServer: + featureGates: + featureSet: "CustomNoUpgrade" + customNoUpgrade: + enabled: + - "CPUManagerPolicyBetaOptions" +kubelet: + reservedSystemCPUs: "0" + cpuManagerPolicy: static + cpuManagerPolicyOptions: + prefer-align-cpus-by-uncorecache: "true" +---- + +. To apply the configuration, restart {microshift-short} by running the following command: ++ +[source,terminal,subs="+quotes"] +---- +$ sudo systemctl restart microshift +----