Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions assets/performanceprofile/scripts/clear-irqbalance-banned-cpus.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,3 @@ echo "IRQBALANCE_BANNED_CPUS=${BANNED_CPUS}" >> "${IRQBALANCE_CONF}"
if [ -n "${CRIO_ORIG_BANNED_CPUS}" ] && [ -f "${CRIO_ORIG_BANNED_CPUS}" ]; then
echo "${BANNED_CPUS}" > "${CRIO_ORIG_BANNED_CPUS}"
fi

# CRI-O reads /proc/irq/default_smp_affinity to derive the IRQ banned mask
# when pods with irq-load-balancing.crio.io=disable are scheduled.
# If we don't remove the OVS-DPDK CPUs from default_smp_affinity here,
# CRI-O will overwrite IRQBALANCE_BANNED_CPUS while ignoring the OVS-DPDK CPUs.
SMP_AFFINITY="${3:-/proc/irq/default_smp_affinity}"
if [ "${BANNED_CPUS}" != "${NONE}" ] && [ -f "${SMP_AFFINITY}" ]; then
# default_smp_affinity is comma-separated 32-bit hex groups (e.g. "ff,ffffffff,ffffffff")
IFS=',' read -ra smp < "${SMP_AFFINITY}"
n=${#smp[@]}
# pad BANNED_CPUS with leading zeros to match the same number of hex chars
padded="${BANNED_CPUS}"
while [ ${#padded} -lt $(( n * 8 )) ]; do
padded="0${padded}"
done
# clear banned bits from each 32-bit group: result = smp & ~banned
result=""
for (( i=0; i<n; i++ )); do
ban="${padded:$(( i * 8 )):8}"
val=$(printf "%08x" $(( 0x${smp[$i]} & ~0x${ban} )))
result+="${result:+,}${val}"
done
echo "Setting default_smp_affinity to ${result} (removing OVS-DPDK CPUs ${BANNED_CPUS} from default_smp_affinity mask)"
echo "${result}" > "${SMP_AFFINITY}"
fi
Comment thread
qodo-for-rh-openshift[bot] marked this conversation as resolved.
4 changes: 4 additions & 0 deletions assets/performanceprofile/tuned/openshift-node-performance
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,10 @@ cmdline_idle_poll=
{{if .DefaultHugepagesSize}}
cmdline_hugepages=+ default_hugepagesz={{.DefaultHugepagesSize}} {{end}} {{if .Hugepages}} {{.Hugepages}} {{end}}

{{if .IrqAffinityCpus}}
cmdline_irqaffinity=+irqaffinity={{.IrqAffinityCpus}}
{{end}}
Comment thread
qodo-for-rh-openshift[bot] marked this conversation as resolved.

{{if .AdditionalArgs}}
cmdline_additionalArg=+{{.AdditionalArgs}}
{{end}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ cmdline_power_performance_intel=
cmdline_idle_poll=
cmdline_idle_poll_intel=
cmdline_hugepages=
cmdline_irqaffinity=
cmdline_pstate=

# Here comes the Intel specific tuning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,77 +128,6 @@ var _ = Describe("Assets scripts", func() {
Expect(updatedBannedCPUs).To(Equal("0"))
})

DescribeTable("should clear ovs-dpdk cpus from default_smp_affinity",
func(smpContent, ovsDpdkCPUs, expectedSmp string) {
tmpdir, err := os.MkdirTemp("", "test-smp-affinity")
Expect(err).ToNot(HaveOccurred())
defer os.RemoveAll(tmpdir)

irqbalanceConf := filepath.Join(tmpdir, "irqbalance")
origBanned := filepath.Join(tmpdir, "orig_irq_banned_cpus")
smpAffinity := filepath.Join(tmpdir, "default_smp_affinity")

Expect(os.WriteFile(irqbalanceConf, []byte("IRQBALANCE_BANNED_CPUS=0\n"), 0644)).To(Succeed())
Expect(os.WriteFile(origBanned, []byte("0\n"), 0644)).To(Succeed())
Expect(os.WriteFile(smpAffinity, []byte(smpContent+"\n"), 0644)).To(Succeed())

cmdline := []string{
filepath.Join(scriptsPath, ClearIRQBalanceBannedCPUs),
irqbalanceConf,
origBanned,
smpAffinity,
}

cmd := exec.Command(cmdline[0], cmdline[1:]...)
cmd.Env = append(os.Environ(), "OVS_DPDK_CPUS="+ovsDpdkCPUs)
cmd.Stderr = GinkgoWriter

_, err = cmd.Output()
Expect(err).ToNot(HaveOccurred())

data, err := os.ReadFile(smpAffinity)
Expect(err).ToNot(HaveOccurred())
Expect(strings.TrimSpace(string(data))).To(Equal(expectedSmp))
},
Entry("single group, ban cpus 2-3", "ffffffff", "0000000c", "fffffff3"),
Entry("multi-group, ban in low group", "ffffffff,ffffffff", "000000000000000c", "ffffffff,fffffff3"),
Entry("multi-group, ban in high group", "ffffffff,ffffffff", "0000000c00000000", "fffffff3,ffffffff"),
Entry("multi-group, ban across both groups", "ffffffff,ffffffff", "0000000c0000000c", "fffffff3,fffffff3"),
Entry("short banned mask needs padding", "ff,ffffffff", "0c", "000000ff,fffffff3"),
Entry("all cpus banned in group", "ffffffff", "ffffffff", "00000000"),
Entry("partial initial mask", "0000ffff", "000000ff", "0000ff00"),
)

It("should not modify default_smp_affinity when ovs-dpdk cpus is unset", func() {
tmpdir, err := os.MkdirTemp("", "test-smp-affinity")
Expect(err).ToNot(HaveOccurred())
defer os.RemoveAll(tmpdir)

irqbalanceConf := filepath.Join(tmpdir, "irqbalance")
origBanned := filepath.Join(tmpdir, "orig_irq_banned_cpus")
smpAffinity := filepath.Join(tmpdir, "default_smp_affinity")

Expect(os.WriteFile(irqbalanceConf, []byte("IRQBALANCE_BANNED_CPUS=0\n"), 0644)).To(Succeed())
Expect(os.WriteFile(origBanned, []byte("0\n"), 0644)).To(Succeed())
Expect(os.WriteFile(smpAffinity, []byte("ffffffff\n"), 0644)).To(Succeed())

cmdline := []string{
filepath.Join(scriptsPath, ClearIRQBalanceBannedCPUs),
irqbalanceConf,
origBanned,
smpAffinity,
}

cmd := exec.Command(cmdline[0], cmdline[1:]...)
cmd.Stderr = GinkgoWriter

_, err = cmd.Output()
Expect(err).ToNot(HaveOccurred())

data, err := os.ReadFile(smpAffinity)
Expect(err).ToNot(HaveOccurred())
Expect(strings.TrimSpace(string(data))).To(Equal("ffffffff"))
})
})
})

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ const (
templateIsolatedCpuList = "IsolatedCpuList"
templateReservedCpuList = "ReservedCpuList"
templatePerformanceProfileName = "PerformanceProfileName"
templateIrqAffinityCpus = "IrqAffinityCpus"
)

func new(name string, profiles []tunedv1.TunedProfile, recommends []tunedv1.TunedRecommend) *tunedv1.Tuned {
Expand Down Expand Up @@ -74,6 +75,23 @@ func NewNodePerformance(profile *performancev2.PerformanceProfile) (*tunedv1.Tun
return nil, fmt.Errorf("cannot parse ovsDpdk cpuset %q: %v", string(*profile.Spec.CPU.OvsDpdk), err)
}
isolatedSet = isolatedSet.Union(ovsDpdkSet)

allCpus := isolatedSet
if profile.Spec.CPU.Reserved != nil {
reservedSet, err := cpuset.Parse(string(*profile.Spec.CPU.Reserved))
if err != nil {
return nil, fmt.Errorf("cannot parse reserved cpuset: %v", err)
}
allCpus = allCpus.Union(reservedSet)
}
if profile.Spec.CPU.Shared != nil {
sharedSet, err := cpuset.Parse(string(*profile.Spec.CPU.Shared))
if err != nil {
return nil, fmt.Errorf("cannot parse shared cpuset: %v", err)
}
allCpus = allCpus.Union(sharedSet)
}
templateArgs[templateIrqAffinityCpus] = allCpus.Difference(ovsDpdkSet).String()
Comment thread
qodo-for-rh-openshift[bot] marked this conversation as resolved.
}

templateArgs[templateIsolatedCpus] = isolatedSet.String()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ spec:
path: /usr/local/bin/set-cpus-offline.sh
user: {}
- contents:
source: data:text/plain;charset=utf-8;base64,IyEvdXNyL2Jpbi9lbnYgYmFzaApzZXQgLWV1byBwaXBlZmFpbApzZXQgLXgKCiMgY29uc3QKU0VEPSIvdXNyL2Jpbi9zZWQiCiMgdHVuYWJsZSAtIG92ZXJyaWRhYmxlIGZvciB0ZXN0aW5nIHB1cnBvc2VzCklSUUJBTEFOQ0VfQ09ORj0iJHsxOi0vZXRjL3N5c2NvbmZpZy9pcnFiYWxhbmNlfSIKQ1JJT19PUklHX0JBTk5FRF9DUFVTPSIkezI6LS9ldGMvc3lzY29uZmlnL29yaWdfaXJxX2Jhbm5lZF9jcHVzfSIKTk9ORT0wCgojIEJBTk5FRF9DUFVTOiB0aGUgZmluYWwgaGV4IG1hc2sgd3JpdHRlbiB0byBJUlFCQUxBTkNFX0JBTk5FRF9DUFVTLgojICAgMS4gSWYgT1ZTX0RQREtfQ1BVUyBpcyBzZXQgKHZpYSBzeXN0ZW1kIEVudmlyb25tZW50KSwgYmFuIHRob3NlIENQVXMuCiMgICAyLiBPdGhlcndpc2UsIGRlZmF1bHQgdG8gMCAobm8gQ1BVcyBiYW5uZWQsIGFsbCBwYXJ0aWNpcGF0ZSBpbiBiYWxhbmNpbmcpLgppZiBbIC1uICIke09WU19EUERLX0NQVVM6LX0iIF07IHRoZW4KCUJBTk5FRF9DUFVTPSIke09WU19EUERLX0NQVVN9IgplbHNlCglCQU5ORURfQ1BVUz0iJHtOT05FfSIKZmkKClsgISAtZiAiJHtJUlFCQUxBTkNFX0NPTkZ9IiBdICYmIGV4aXQgMAoKJHtTRUR9IC1pICcvXlxzKklSUUJBTEFOQ0VfQkFOTkVEX0NQVVNcYi9kJyAiJHtJUlFCQUxBTkNFX0NPTkZ9IiB8fCBleGl0IDAKIyBDUFUgbnVtYmVycyB3aGljaCBoYXZlIHRoZWlyIGNvcnJlc3BvbmRpbmcgYml0cyBzZXQgdG8gb25lIGluIHRoaXMgbWFzawojIHdpbGwgbm90IGhhdmUgYW55IGlycSdzIGFzc2lnbmVkIHRvIHRoZW0gb24gcmViYWxhbmNlLgojIHNvIHplcm8gbWVhbnMgYWxsIGNwdXMgYXJlIHBhcnRpY2lwYXRpbmcgaW4gbG9hZCBiYWxhbmNpbmcuCmVjaG8gIklSUUJBTEFOQ0VfQkFOTkVEX0NQVVM9JHtCQU5ORURfQ1BVU30iID4+ICIke0lSUUJBTEFOQ0VfQ09ORn0iCgojIHdlIG5vdyBvd24gdGhpcyBjb25maWd1cmF0aW9uLiBCdXQgQ1JJLU8gaGFzIGNvZGUgdG8gcmVzdG9yZSB0aGUgY29uZmlndXJhdGlvbiwKIyBhbmQgdW50aWwgaXQgZ2FpbnMgdGhlIG9wdGlvbiB0byBkaXNhYmxlIHRoaXMgcmVzdG9yZSBmbG93LCB3ZSBuZWVkIHRvIG1ha2UKIyB0aGUgY29uZmlndXJhdGlvbiBjb25zaXN0ZW50IHN1Y2ggYXMgdGhlIENSSS1PIHJlc3RvcmUgd2lsbCBkbyBub3RoaW5nLgppZiBbIC1uICIke0NSSU9fT1JJR19CQU5ORURfQ1BVU30iIF0gJiYgWyAtZiAiJHtDUklPX09SSUdfQkFOTkVEX0NQVVN9IiBdOyB0aGVuCgllY2hvICIke0JBTk5FRF9DUFVTfSIgPiAiJHtDUklPX09SSUdfQkFOTkVEX0NQVVN9IgpmaQoKIyBDUkktTyByZWFkcyAvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgdG8gZGVyaXZlIHRoZSBJUlEgYmFubmVkIG1hc2sKIyB3aGVuIHBvZHMgd2l0aCBpcnEtbG9hZC1iYWxhbmNpbmcuY3Jpby5pbz1kaXNhYmxlIGFyZSBzY2hlZHVsZWQuCiMgSWYgd2UgZG9uJ3QgcmVtb3ZlIHRoZSBPVlMtRFBESyBDUFVzIGZyb20gZGVmYXVsdF9zbXBfYWZmaW5pdHkgaGVyZSwKIyBDUkktTyB3aWxsIG92ZXJ3cml0ZSBJUlFCQUxBTkNFX0JBTk5FRF9DUFVTIHdoaWxlIGlnbm9yaW5nIHRoZSBPVlMtRFBESyBDUFVzLgpTTVBfQUZGSU5JVFk9IiR7MzotL3Byb2MvaXJxL2RlZmF1bHRfc21wX2FmZmluaXR5fSIKaWYgWyAiJHtCQU5ORURfQ1BVU30iICE9ICIke05PTkV9IiBdICYmIFsgLWYgIiR7U01QX0FGRklOSVRZfSIgXTsgdGhlbgoJIyBkZWZhdWx0X3NtcF9hZmZpbml0eSBpcyBjb21tYS1zZXBhcmF0ZWQgMzItYml0IGhleCBncm91cHMgKGUuZy4gImZmLGZmZmZmZmZmLGZmZmZmZmZmIikKCUlGUz0nLCcgcmVhZCAtcmEgc21wIDwgIiR7U01QX0FGRklOSVRZfSIKCW49JHsjc21wW0BdfQoJIyBwYWQgQkFOTkVEX0NQVVMgd2l0aCBsZWFkaW5nIHplcm9zIHRvIG1hdGNoIHRoZSBzYW1lIG51bWJlciBvZiBoZXggY2hhcnMKCXBhZGRlZD0iJHtCQU5ORURfQ1BVU30iCgl3aGlsZSBbICR7I3BhZGRlZH0gLWx0ICQoKCBuICogOCApKSBdOyBkbwoJCXBhZGRlZD0iMCR7cGFkZGVkfSIKCWRvbmUKCSMgY2xlYXIgYmFubmVkIGJpdHMgZnJvbSBlYWNoIDMyLWJpdCBncm91cDogcmVzdWx0ID0gc21wICYgfmJhbm5lZAoJcmVzdWx0PSIiCglmb3IgKCggaT0wOyBpPG47IGkrKyApKTsgZG8KCQliYW49IiR7cGFkZGVkOiQoKCBpICogOCApKTo4fSIKCQl2YWw9JChwcmludGYgIiUwOHgiICQoKCAweCR7c21wWyRpXX0gJiB+MHgke2Jhbn0gKSkpCgkJcmVzdWx0Kz0iJHtyZXN1bHQ6Kyx9JHt2YWx9IgoJZG9uZQoJZWNobyAiU2V0dGluZyBkZWZhdWx0X3NtcF9hZmZpbml0eSB0byAke3Jlc3VsdH0gKHJlbW92aW5nIE9WUy1EUERLIENQVXMgJHtCQU5ORURfQ1BVU30gZnJvbSBkZWZhdWx0X3NtcF9hZmZpbml0eSBtYXNrKSIKCWVjaG8gIiR7cmVzdWx0fSIgPiAiJHtTTVBfQUZGSU5JVFl9IgpmaQo=
source: data:text/plain;charset=utf-8;base64,IyEvdXNyL2Jpbi9lbnYgYmFzaApzZXQgLWV1byBwaXBlZmFpbApzZXQgLXgKCiMgY29uc3QKU0VEPSIvdXNyL2Jpbi9zZWQiCiMgdHVuYWJsZSAtIG92ZXJyaWRhYmxlIGZvciB0ZXN0aW5nIHB1cnBvc2VzCklSUUJBTEFOQ0VfQ09ORj0iJHsxOi0vZXRjL3N5c2NvbmZpZy9pcnFiYWxhbmNlfSIKQ1JJT19PUklHX0JBTk5FRF9DUFVTPSIkezI6LS9ldGMvc3lzY29uZmlnL29yaWdfaXJxX2Jhbm5lZF9jcHVzfSIKTk9ORT0wCgojIEJBTk5FRF9DUFVTOiB0aGUgZmluYWwgaGV4IG1hc2sgd3JpdHRlbiB0byBJUlFCQUxBTkNFX0JBTk5FRF9DUFVTLgojICAgMS4gSWYgT1ZTX0RQREtfQ1BVUyBpcyBzZXQgKHZpYSBzeXN0ZW1kIEVudmlyb25tZW50KSwgYmFuIHRob3NlIENQVXMuCiMgICAyLiBPdGhlcndpc2UsIGRlZmF1bHQgdG8gMCAobm8gQ1BVcyBiYW5uZWQsIGFsbCBwYXJ0aWNpcGF0ZSBpbiBiYWxhbmNpbmcpLgppZiBbIC1uICIke09WU19EUERLX0NQVVM6LX0iIF07IHRoZW4KCUJBTk5FRF9DUFVTPSIke09WU19EUERLX0NQVVN9IgplbHNlCglCQU5ORURfQ1BVUz0iJHtOT05FfSIKZmkKClsgISAtZiAiJHtJUlFCQUxBTkNFX0NPTkZ9IiBdICYmIGV4aXQgMAoKJHtTRUR9IC1pICcvXlxzKklSUUJBTEFOQ0VfQkFOTkVEX0NQVVNcYi9kJyAiJHtJUlFCQUxBTkNFX0NPTkZ9IiB8fCBleGl0IDAKIyBDUFUgbnVtYmVycyB3aGljaCBoYXZlIHRoZWlyIGNvcnJlc3BvbmRpbmcgYml0cyBzZXQgdG8gb25lIGluIHRoaXMgbWFzawojIHdpbGwgbm90IGhhdmUgYW55IGlycSdzIGFzc2lnbmVkIHRvIHRoZW0gb24gcmViYWxhbmNlLgojIHNvIHplcm8gbWVhbnMgYWxsIGNwdXMgYXJlIHBhcnRpY2lwYXRpbmcgaW4gbG9hZCBiYWxhbmNpbmcuCmVjaG8gIklSUUJBTEFOQ0VfQkFOTkVEX0NQVVM9JHtCQU5ORURfQ1BVU30iID4+ICIke0lSUUJBTEFOQ0VfQ09ORn0iCgojIHdlIG5vdyBvd24gdGhpcyBjb25maWd1cmF0aW9uLiBCdXQgQ1JJLU8gaGFzIGNvZGUgdG8gcmVzdG9yZSB0aGUgY29uZmlndXJhdGlvbiwKIyBhbmQgdW50aWwgaXQgZ2FpbnMgdGhlIG9wdGlvbiB0byBkaXNhYmxlIHRoaXMgcmVzdG9yZSBmbG93LCB3ZSBuZWVkIHRvIG1ha2UKIyB0aGUgY29uZmlndXJhdGlvbiBjb25zaXN0ZW50IHN1Y2ggYXMgdGhlIENSSS1PIHJlc3RvcmUgd2lsbCBkbyBub3RoaW5nLgppZiBbIC1uICIke0NSSU9fT1JJR19CQU5ORURfQ1BVU30iIF0gJiYgWyAtZiAiJHtDUklPX09SSUdfQkFOTkVEX0NQVVN9IiBdOyB0aGVuCgllY2hvICIke0JBTk5FRF9DUFVTfSIgPiAiJHtDUklPX09SSUdfQkFOTkVEX0NQVVN9IgpmaQo=
verification: {}
group: {}
mode: 448
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ spec:
overrides cpu-partitioning cmdline\ncmdline_cpu_part=+nohz=on rcu_nocbs=${isolated_cores}
tuned.non_isolcpus=${not_isolated_cpumask} systemd.cpu_affinity=${not_isolated_cores_expanded}\n\n#
No default value but will be composed conditionally based on platform\ncmdline_iommu=\n\n\ncmdline_isolation=+isolcpus=managed_irq,${isolated_cores}\n\n\n\ncmdline_realtime_nohzfull=+nohz_full=${isolated_cores}\ncmdline_realtime_nosoftlookup=+nosoftlockup\ncmdline_realtime_common=+skew_tick=1
rcutree.kthread_prio=11\n\n\n\n\n\n\n \n\n\n\n[rtentsk]\n\n\n"
rcutree.kthread_prio=11\n\n\n\n\n\n\n \n\n\n\n\n\n[rtentsk]\n\n\n"
name: openshift-node-performance-openshift-bootstrap-master
- data: "[main]\nsummary=Real time profile to override unsupported settings\n\n[sysctl]\n#Real
time kernel doesn't support the following kernel parameters.\n#The openshift-node-performance
Expand Down Expand Up @@ -117,6 +117,7 @@ spec:
cmdline_idle_poll=
cmdline_idle_poll_intel=
cmdline_hugepages=
cmdline_irqaffinity=
cmdline_pstate=

# Here comes the Intel specific tuning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ spec:
path: /usr/local/bin/set-cpus-offline.sh
user: {}
- contents:
source: data:text/plain;charset=utf-8;base64,IyEvdXNyL2Jpbi9lbnYgYmFzaApzZXQgLWV1byBwaXBlZmFpbApzZXQgLXgKCiMgY29uc3QKU0VEPSIvdXNyL2Jpbi9zZWQiCiMgdHVuYWJsZSAtIG92ZXJyaWRhYmxlIGZvciB0ZXN0aW5nIHB1cnBvc2VzCklSUUJBTEFOQ0VfQ09ORj0iJHsxOi0vZXRjL3N5c2NvbmZpZy9pcnFiYWxhbmNlfSIKQ1JJT19PUklHX0JBTk5FRF9DUFVTPSIkezI6LS9ldGMvc3lzY29uZmlnL29yaWdfaXJxX2Jhbm5lZF9jcHVzfSIKTk9ORT0wCgojIEJBTk5FRF9DUFVTOiB0aGUgZmluYWwgaGV4IG1hc2sgd3JpdHRlbiB0byBJUlFCQUxBTkNFX0JBTk5FRF9DUFVTLgojICAgMS4gSWYgT1ZTX0RQREtfQ1BVUyBpcyBzZXQgKHZpYSBzeXN0ZW1kIEVudmlyb25tZW50KSwgYmFuIHRob3NlIENQVXMuCiMgICAyLiBPdGhlcndpc2UsIGRlZmF1bHQgdG8gMCAobm8gQ1BVcyBiYW5uZWQsIGFsbCBwYXJ0aWNpcGF0ZSBpbiBiYWxhbmNpbmcpLgppZiBbIC1uICIke09WU19EUERLX0NQVVM6LX0iIF07IHRoZW4KCUJBTk5FRF9DUFVTPSIke09WU19EUERLX0NQVVN9IgplbHNlCglCQU5ORURfQ1BVUz0iJHtOT05FfSIKZmkKClsgISAtZiAiJHtJUlFCQUxBTkNFX0NPTkZ9IiBdICYmIGV4aXQgMAoKJHtTRUR9IC1pICcvXlxzKklSUUJBTEFOQ0VfQkFOTkVEX0NQVVNcYi9kJyAiJHtJUlFCQUxBTkNFX0NPTkZ9IiB8fCBleGl0IDAKIyBDUFUgbnVtYmVycyB3aGljaCBoYXZlIHRoZWlyIGNvcnJlc3BvbmRpbmcgYml0cyBzZXQgdG8gb25lIGluIHRoaXMgbWFzawojIHdpbGwgbm90IGhhdmUgYW55IGlycSdzIGFzc2lnbmVkIHRvIHRoZW0gb24gcmViYWxhbmNlLgojIHNvIHplcm8gbWVhbnMgYWxsIGNwdXMgYXJlIHBhcnRpY2lwYXRpbmcgaW4gbG9hZCBiYWxhbmNpbmcuCmVjaG8gIklSUUJBTEFOQ0VfQkFOTkVEX0NQVVM9JHtCQU5ORURfQ1BVU30iID4+ICIke0lSUUJBTEFOQ0VfQ09ORn0iCgojIHdlIG5vdyBvd24gdGhpcyBjb25maWd1cmF0aW9uLiBCdXQgQ1JJLU8gaGFzIGNvZGUgdG8gcmVzdG9yZSB0aGUgY29uZmlndXJhdGlvbiwKIyBhbmQgdW50aWwgaXQgZ2FpbnMgdGhlIG9wdGlvbiB0byBkaXNhYmxlIHRoaXMgcmVzdG9yZSBmbG93LCB3ZSBuZWVkIHRvIG1ha2UKIyB0aGUgY29uZmlndXJhdGlvbiBjb25zaXN0ZW50IHN1Y2ggYXMgdGhlIENSSS1PIHJlc3RvcmUgd2lsbCBkbyBub3RoaW5nLgppZiBbIC1uICIke0NSSU9fT1JJR19CQU5ORURfQ1BVU30iIF0gJiYgWyAtZiAiJHtDUklPX09SSUdfQkFOTkVEX0NQVVN9IiBdOyB0aGVuCgllY2hvICIke0JBTk5FRF9DUFVTfSIgPiAiJHtDUklPX09SSUdfQkFOTkVEX0NQVVN9IgpmaQoKIyBDUkktTyByZWFkcyAvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgdG8gZGVyaXZlIHRoZSBJUlEgYmFubmVkIG1hc2sKIyB3aGVuIHBvZHMgd2l0aCBpcnEtbG9hZC1iYWxhbmNpbmcuY3Jpby5pbz1kaXNhYmxlIGFyZSBzY2hlZHVsZWQuCiMgSWYgd2UgZG9uJ3QgcmVtb3ZlIHRoZSBPVlMtRFBESyBDUFVzIGZyb20gZGVmYXVsdF9zbXBfYWZmaW5pdHkgaGVyZSwKIyBDUkktTyB3aWxsIG92ZXJ3cml0ZSBJUlFCQUxBTkNFX0JBTk5FRF9DUFVTIHdoaWxlIGlnbm9yaW5nIHRoZSBPVlMtRFBESyBDUFVzLgpTTVBfQUZGSU5JVFk9IiR7MzotL3Byb2MvaXJxL2RlZmF1bHRfc21wX2FmZmluaXR5fSIKaWYgWyAiJHtCQU5ORURfQ1BVU30iICE9ICIke05PTkV9IiBdICYmIFsgLWYgIiR7U01QX0FGRklOSVRZfSIgXTsgdGhlbgoJIyBkZWZhdWx0X3NtcF9hZmZpbml0eSBpcyBjb21tYS1zZXBhcmF0ZWQgMzItYml0IGhleCBncm91cHMgKGUuZy4gImZmLGZmZmZmZmZmLGZmZmZmZmZmIikKCUlGUz0nLCcgcmVhZCAtcmEgc21wIDwgIiR7U01QX0FGRklOSVRZfSIKCW49JHsjc21wW0BdfQoJIyBwYWQgQkFOTkVEX0NQVVMgd2l0aCBsZWFkaW5nIHplcm9zIHRvIG1hdGNoIHRoZSBzYW1lIG51bWJlciBvZiBoZXggY2hhcnMKCXBhZGRlZD0iJHtCQU5ORURfQ1BVU30iCgl3aGlsZSBbICR7I3BhZGRlZH0gLWx0ICQoKCBuICogOCApKSBdOyBkbwoJCXBhZGRlZD0iMCR7cGFkZGVkfSIKCWRvbmUKCSMgY2xlYXIgYmFubmVkIGJpdHMgZnJvbSBlYWNoIDMyLWJpdCBncm91cDogcmVzdWx0ID0gc21wICYgfmJhbm5lZAoJcmVzdWx0PSIiCglmb3IgKCggaT0wOyBpPG47IGkrKyApKTsgZG8KCQliYW49IiR7cGFkZGVkOiQoKCBpICogOCApKTo4fSIKCQl2YWw9JChwcmludGYgIiUwOHgiICQoKCAweCR7c21wWyRpXX0gJiB+MHgke2Jhbn0gKSkpCgkJcmVzdWx0Kz0iJHtyZXN1bHQ6Kyx9JHt2YWx9IgoJZG9uZQoJZWNobyAiU2V0dGluZyBkZWZhdWx0X3NtcF9hZmZpbml0eSB0byAke3Jlc3VsdH0gKHJlbW92aW5nIE9WUy1EUERLIENQVXMgJHtCQU5ORURfQ1BVU30gZnJvbSBkZWZhdWx0X3NtcF9hZmZpbml0eSBtYXNrKSIKCWVjaG8gIiR7cmVzdWx0fSIgPiAiJHtTTVBfQUZGSU5JVFl9IgpmaQo=
source: data:text/plain;charset=utf-8;base64,IyEvdXNyL2Jpbi9lbnYgYmFzaApzZXQgLWV1byBwaXBlZmFpbApzZXQgLXgKCiMgY29uc3QKU0VEPSIvdXNyL2Jpbi9zZWQiCiMgdHVuYWJsZSAtIG92ZXJyaWRhYmxlIGZvciB0ZXN0aW5nIHB1cnBvc2VzCklSUUJBTEFOQ0VfQ09ORj0iJHsxOi0vZXRjL3N5c2NvbmZpZy9pcnFiYWxhbmNlfSIKQ1JJT19PUklHX0JBTk5FRF9DUFVTPSIkezI6LS9ldGMvc3lzY29uZmlnL29yaWdfaXJxX2Jhbm5lZF9jcHVzfSIKTk9ORT0wCgojIEJBTk5FRF9DUFVTOiB0aGUgZmluYWwgaGV4IG1hc2sgd3JpdHRlbiB0byBJUlFCQUxBTkNFX0JBTk5FRF9DUFVTLgojICAgMS4gSWYgT1ZTX0RQREtfQ1BVUyBpcyBzZXQgKHZpYSBzeXN0ZW1kIEVudmlyb25tZW50KSwgYmFuIHRob3NlIENQVXMuCiMgICAyLiBPdGhlcndpc2UsIGRlZmF1bHQgdG8gMCAobm8gQ1BVcyBiYW5uZWQsIGFsbCBwYXJ0aWNpcGF0ZSBpbiBiYWxhbmNpbmcpLgppZiBbIC1uICIke09WU19EUERLX0NQVVM6LX0iIF07IHRoZW4KCUJBTk5FRF9DUFVTPSIke09WU19EUERLX0NQVVN9IgplbHNlCglCQU5ORURfQ1BVUz0iJHtOT05FfSIKZmkKClsgISAtZiAiJHtJUlFCQUxBTkNFX0NPTkZ9IiBdICYmIGV4aXQgMAoKJHtTRUR9IC1pICcvXlxzKklSUUJBTEFOQ0VfQkFOTkVEX0NQVVNcYi9kJyAiJHtJUlFCQUxBTkNFX0NPTkZ9IiB8fCBleGl0IDAKIyBDUFUgbnVtYmVycyB3aGljaCBoYXZlIHRoZWlyIGNvcnJlc3BvbmRpbmcgYml0cyBzZXQgdG8gb25lIGluIHRoaXMgbWFzawojIHdpbGwgbm90IGhhdmUgYW55IGlycSdzIGFzc2lnbmVkIHRvIHRoZW0gb24gcmViYWxhbmNlLgojIHNvIHplcm8gbWVhbnMgYWxsIGNwdXMgYXJlIHBhcnRpY2lwYXRpbmcgaW4gbG9hZCBiYWxhbmNpbmcuCmVjaG8gIklSUUJBTEFOQ0VfQkFOTkVEX0NQVVM9JHtCQU5ORURfQ1BVU30iID4+ICIke0lSUUJBTEFOQ0VfQ09ORn0iCgojIHdlIG5vdyBvd24gdGhpcyBjb25maWd1cmF0aW9uLiBCdXQgQ1JJLU8gaGFzIGNvZGUgdG8gcmVzdG9yZSB0aGUgY29uZmlndXJhdGlvbiwKIyBhbmQgdW50aWwgaXQgZ2FpbnMgdGhlIG9wdGlvbiB0byBkaXNhYmxlIHRoaXMgcmVzdG9yZSBmbG93LCB3ZSBuZWVkIHRvIG1ha2UKIyB0aGUgY29uZmlndXJhdGlvbiBjb25zaXN0ZW50IHN1Y2ggYXMgdGhlIENSSS1PIHJlc3RvcmUgd2lsbCBkbyBub3RoaW5nLgppZiBbIC1uICIke0NSSU9fT1JJR19CQU5ORURfQ1BVU30iIF0gJiYgWyAtZiAiJHtDUklPX09SSUdfQkFOTkVEX0NQVVN9IiBdOyB0aGVuCgllY2hvICIke0JBTk5FRF9DUFVTfSIgPiAiJHtDUklPX09SSUdfQkFOTkVEX0NQVVN9IgpmaQo=
verification: {}
group: {}
mode: 448
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ spec:
overrides cpu-partitioning cmdline\ncmdline_cpu_part=+nohz=on rcu_nocbs=${isolated_cores}
tuned.non_isolcpus=${not_isolated_cpumask} systemd.cpu_affinity=${not_isolated_cores_expanded}\n\n#
No default value but will be composed conditionally based on platform\ncmdline_iommu=\n\n\ncmdline_isolation=+isolcpus=managed_irq,${isolated_cores}\n\n\n\ncmdline_realtime_nohzfull=+nohz_full=${isolated_cores}\ncmdline_realtime_nosoftlookup=+nosoftlockup\ncmdline_realtime_common=+skew_tick=1
rcutree.kthread_prio=11\n\n\n\n\n\n\n \n\n\n\n[rtentsk]\n\n\n"
rcutree.kthread_prio=11\n\n\n\n\n\n\n \n\n\n\n\n\n[rtentsk]\n\n\n"
name: openshift-node-performance-openshift-bootstrap-worker
- data: "[main]\nsummary=Real time profile to override unsupported settings\n\n[sysctl]\n#Real
time kernel doesn't support the following kernel parameters.\n#The openshift-node-performance
Expand Down Expand Up @@ -117,6 +117,7 @@ spec:
cmdline_idle_poll=
cmdline_idle_poll_intel=
cmdline_hugepages=
cmdline_irqaffinity=
cmdline_pstate=

# Here comes the Intel specific tuning
Expand Down
Loading