1
0
Fork 0
Commit graph

7 commits

Author SHA1 Message Date
Graham Heffern
7a1a288e85 feat(openshift): Optimize TCP settings for high throughput and low latency
Apply specific kernel network tuning parameters to the OpenShift profile
(/profiles/openshift/tuned.conf) to support high bandwidth-delay product links.

The following TCP settings are added:
net.ipv4.tcp_notsent_lowat=131072: Sets tcp_notsent_lowat to a value intended to balance throughput and latency while limiting total socket memory usage.
net.ipv4.tcp_slow_start_after_idle=0: Disables slow start after a connection has been idle, allowing immediate maximum throughput upon resuming data transfer.
net.ipv4.tcp_rmem="4096 131072 16777216": Increases the maximum TCP receive buffer size to improve performance on high-bandwidth-delay product connections.
net.ipv4.tcp_wmem="4096 16384 16777216": Increases the maximum TCP send buffer size for similar reasons.

These changes are based on work done by Cloudflare for improving TCP
performance on high bandwidth-delay product links but are more conservative in adjusting rmem and wmem

Reference: https://blog.cloudflare.com/optimizing-tcp-for-high-throughput-and-low-latency/

Signed-off-by: Graham Heffern <gheffern@gmail.com>
2025-11-08 09:46:25 -06:00
Tim Rozet
1c1da2af04 Remove setting ip forwarding via openshift profile
With openshift/machine-config-operator#3676 we
removed globally setting ip forwarding in MCO. We should not be setting
it in the default profile for OpenShift. We now set it on a per
interface basis as needed. However, by setting proc/sys/net/ipv4/forward
rather than (forwarding) it will reset all the values:

"This variable is special, its change resets all configuration
parameters to their default state (RFC1122 for hosts, RFC1812
for routers)"

We suspect this causes upgrade to fail. NTO sets this to 1, which then
resets all the per interface config that OVNK wrote. Then during upgrade
when there is a tuned profile change, the config change is rolled back
so forward is 0, and now there is no connectivity to kapi and upgrade
fails.

Signed-off-by: Tim Rozet <trozet@redhat.com>
2023-05-30 15:42:52 -04:00
Jiri Mencak
8b57a12efc Profile openshift: increase fs.aio-max-nr tunable
The kernel tunable fs.aio-max-nr specifies the maximum number of events
specified on the io_setup() call for all currently active aio contexts.
On large systems this causes issues with the io_setup() call failing
with EAGAIN.  Libvirt already increases this setting to 1048576:
96e99e4948/src/remote/libvirtd.sysctl

The only potential drawback of a larger limit is that a malicious users
could issue parallel io_setup() requests to cause the kernel to set
aside memory.

Signed-off-by: Jiri Mencak <jmencak@users.noreply.github.com>
2022-09-06 10:00:03 +02:00
Jiri Mencak
ccff8454de openshift profile: tuning for NVMe devices
AWS Nitro instances need special tuning for NVMe devices:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes

[sysfs]
/sys/module/nvme_core/parameters/io_timeout=4294967295
/sys/module/nvme_core/parameters/max_retries=10

This tuning should probably be moved to Cloud Provider-specific profiles
once the functionality is implemented.

Signed-off-by: Jiri Mencak <jmencak@users.noreply.github.com>
2022-04-29 12:03:24 +02:00
Paolo Abeni
e1b21f23c9 raise the netfilter hash table size in openshift/atomic-{host,guest}
to match the max netfilter conntrack entries, reducing such hash
table load.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2022-02-09 17:15:46 +01:00
Jiri Mencak
e25d5b4294 openshift profile: workaround high CPU utilization of [scheduler] plug-in.
The [scheduler] plug-in can be very CPU intensive, especially on the
OpenShift platform.  The bug for this issue is tracked by rhbz#1921738.
Until this is fixed, work around this problem in the openshift
parent profile by adding "runtime=0" [scheduler] plug-in option.

Signed-off-by: Jiri Mencak <jmencak@users.noreply.github.com>
2021-10-13 19:04:04 +02:00
Jiri Mencak
ee3773c62d Add OpenShift profiles.
Signed-off-by: Jiri Mencak <jmencak@users.noreply.github.com>
2021-08-02 16:53:53 +02:00