1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/cnf-verifying-queue-status.adoc
Aidan Reilly d51917ed74 low latency tuning refactor
Changes for Martin

Martin's 3rd review comments

Martin's 4th review

Final comments from Martin

More updates for Martin

Tweaks for Martin

Martin's comments 22-Apr - workload pods

Apr 30 review comments

final review comments

Michael's comments
2024-05-10 09:01:21 +00:00

226 lines
4.8 KiB
Plaintext

// Module included in the following assemblies:
//
// * scalability_and_performance/low_latency_tuning/cnf-tuning-low-latency-nodes-with-perf-profile.adoc
[id="verifying-queue-status_{context}"]
= Verifying the queue status
In this section, a number of examples illustrate different performance profiles and how to verify the changes are applied.
.Example 1
In this example, the net queue count is set to the reserved CPU count (2) for _all_ supported devices.
The relevant section from the performance profile is:
[source,yaml]
----
apiVersion: performance.openshift.io/v2
metadata:
name: performance
spec:
kind: PerformanceProfile
spec:
cpu:
reserved: 0-1 #total = 2
isolated: 2-8
net:
userLevelNetworking: true
# ...
----
* Display the status of the queues associated with a device using the following command:
+
[NOTE]
====
Run this command on the node where the performance profile was applied.
====
+
[source,terminal]
----
$ ethtool -l <device>
----
* Verify the queue status before the profile is applied:
+
[source,terminal]
----
$ ethtool -l ens4
----
+
.Example output
[source,terminal]
----
Channel parameters for ens4:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 4
----
* Verify the queue status after the profile is applied:
+
[source,terminal]
----
$ ethtool -l ens4
----
+
.Example output
[source,terminal]
----
Channel parameters for ens4:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 2 <1>
----
<1> The combined channel shows that the total count of reserved CPUs for _all_ supported devices is 2. This matches what is configured in the performance profile.
.Example 2
In this example, the net queue count is set to the reserved CPU count (2) for _all_ supported network devices with a specific `vendorID`.
The relevant section from the performance profile is:
[source,yaml]
----
apiVersion: performance.openshift.io/v2
metadata:
name: performance
spec:
kind: PerformanceProfile
spec:
cpu:
reserved: 0-1 #total = 2
isolated: 2-8
net:
userLevelNetworking: true
devices:
- vendorID = 0x1af4
# ...
----
* Display the status of the queues associated with a device using the following command:
+
[NOTE]
====
Run this command on the node where the performance profile was applied.
====
+
[source,terminal]
----
$ ethtool -l <device>
----
* Verify the queue status after the profile is applied:
+
[source,terminal]
----
$ ethtool -l ens4
----
+
.Example output
[source,terminal]
----
Channel parameters for ens4:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 2 <1>
----
<1> The total count of reserved CPUs for all supported devices with `vendorID=0x1af4` is 2.
For example, if there is another network device `ens2` with `vendorID=0x1af4` it will also have total net queues of 2. This matches what is configured in the performance profile.
.Example 3
In this example, the net queue count is set to the reserved CPU count (2) for _all_ supported network devices that match any of the defined device identifiers.
The command `udevadm info` provides a detailed report on a device. In this example the devices are:
[source,terminal]
----
# udevadm info -p /sys/class/net/ens4
...
E: ID_MODEL_ID=0x1000
E: ID_VENDOR_ID=0x1af4
E: INTERFACE=ens4
...
----
[source,terminal]
----
# udevadm info -p /sys/class/net/eth0
...
E: ID_MODEL_ID=0x1002
E: ID_VENDOR_ID=0x1001
E: INTERFACE=eth0
...
----
* Set the net queues to 2 for a device with `interfaceName` equal to `eth0` and any devices that have a `vendorID=0x1af4` with the following performance profile:
+
[source,yaml]
----
apiVersion: performance.openshift.io/v2
metadata:
name: performance
spec:
kind: PerformanceProfile
spec:
cpu:
reserved: 0-1 #total = 2
isolated: 2-8
net:
userLevelNetworking: true
devices:
- interfaceName = eth0
- vendorID = 0x1af4
...
----
* Verify the queue status after the profile is applied:
+
[source,terminal]
----
$ ethtool -l ens4
----
+
.Example output
[source,terminal]
----
Channel parameters for ens4:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 2 <1>
----
+
<1> The total count of reserved CPUs for all supported devices with `vendorID=0x1af4` is set to 2.
For example, if there is another network device `ens2` with `vendorID=0x1af4`, it will also have the total net queues set to 2. Similarly, a device with `interfaceName` equal to `eth0` will have total net queues set to 2.