Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
set RPS for veth on host level only (#508)
RPS handling on pod container level using crio-hooks causes long delay times when running the low latency script to set the RPS mask (https://bugzilla.redhat.com/show_bug.cgi?id=2109965) For RAN low latency solution it might be sufficient only to set the RPS on the host level and avoid setting it on the container level while utilizing RSS behavior. In the past the low latency hook was added with RPS additional settings on virtual devices since there was an issue where the start and shutdown of big amount of pods will initiate the creation of the systemd service that should update the new interfaces rps_cpus mask and can create an additional CPU load under the cluster (openshift-kni/performance-addon-operators#659) This might not be the case any more thus we need to examine how the revert of the aforementioned PR will behave now. Signed-off-by: Talor Itzhak <titzhak@redhat.com> Signed-off-by: Talor Itzhak <titzhak@redhat.com>
- Loading branch information
Showing
7 changed files
with
111 additions
and
192 deletions.
There are no files selected for viewing
11 changes: 0 additions & 11 deletions
11
assets/performanceprofile/configs/99-low-latency-hooks.json
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,11 @@ | ||
SUBSYSTEM=="net", ACTION=="add", ENV{DEVPATH}!="/devices/virtual/net/veth*", ENV{ID_BUS}!="pci", TAG+="systemd", ENV{SYSTEMD_WANTS}="update-rps@%k.service" | ||
# We should apply the rule on the virtual interfaces of the host, because of the RPS mask that would be consulted, | ||
# is the one on the RX side of the veth in the host. | ||
# Consider the following diagram: | ||
# Pod A <veth1 - veth2> host <veth3 - veth4> Pod B | ||
# veth2's RPS affinity is the one determining the CPUs that are handling the packet processing when sending data from Pod A to pod B. | ||
# Additional common scenarios: | ||
# 1. Pod A = sender, host = receiver | ||
# The RPS affinity of the host side should be consulted (because it’s the receiver) and it should be set to cpus not sensitive to preemption (reserved pool). | ||
# 2. Pod A = receiver, host = sender | ||
# In case of no RPS mask on the receiver side, the sender needs to pay the price and do all the processing on its cores. | ||
SUBSYSTEM=="net", ACTION=="add", ENV{ID_BUS}!="pci", TAG+="systemd", ENV{SYSTEMD_WANTS}="update-rps@%k.service" |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.