The 'cpupower' systemd startup script is useful for users to change the behavior of cpufreq at runtime rather than relying on the config default set at compile time. Specifically, it allows users to change the scaling governor. By default Azure Linux sets the scaling governor to performance mode via CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE. This was confirmed by flashing the latest CBL-Mariner 2.0 iso onto an Intel NUC. It by default used the performance scaling governor and the cpufreq driver was intel_pstates. The powersave governor was available but not used. More on CPU frequency scaling can be seen at kernel.org
While useful, introducing the cpupower.service script in Mariner 2.0 would break the assumption for how users can affect the cpu frenquency. Adding the service file would change the cpu frequency for users who have taken action to change from the default "performance" governor to some other governor (powersave, ondemand, etc.). Set in 3.0 to encourage users to have the most performant state.
Just as a note that there are many places the cpu frequency setting can be altered:
- bios
- governor in kernel configs (CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y in Mariner)
- governor in kernel command line (cpufreq.default_governor not set in Mariner)
- cpufreq direct call in userspace
- tuned (which we don't ship with by default)
6.6 was declared the latest LTS. Therefore, upgrade to it.
Notable changes to the spec included a few perf changes.
libtraceevent is now a buildrequires as it is no longer shipped within the source [4171925aa9f3f7bf57b100238f148b50c45c3b1b]. Additionally, perf/examples/bpf was removed [5056c99e8d97e1129ff29826971eefbe345b6837] and the bpf include directory reworked[3b573bf318d894b4290e194c4d7dbcba8c1f6ead].
Finally, the configs for both x86_64 and aarch64 were brought to parity with 6.1.
For this commit, I analyzed all configs which were set to "y"/"m"
in the 5.15 kernel but "is not set" or missing in 6.1. I
determined whether they were supported, refactored, or depricated
in 6.1. In the first two cases, I enable the missing config or
its new equivalent.
This analysis was done by using a Mariner container, copying the
6.1 kernel source and running 'make menuconfig' until the missing
configs could all be explained via a commit in the kernel source.
Backport 30 patches to bring grub 2.06 up to SBAT level 2 and resolve vulnerabilities for CVE-2021-3695, CVE-2021-3696, CVE-2021-3697, CVE-2022-28733, CVE-2022-28734, CVE-2022-28735, and CVE-2022-28736.
* Bump package version to recompile binaries with fixed gcc stack protection (CVE-2023-4039)
* Bump debuginfo versions in toolchain manifests
* Bump kernel headers to match kernel
* Update SPECS/gettext/gettext.spec
Taking suggestion
Co-authored-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
* Update for code review comments
* Fix for code review comment in qt5-qtdeclarative changelog
* Fix dash version for signed spec files
---------
Co-authored-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
* Kernel upgrade to 5.15.125.1 version
* Add new configs set to defaults
* Update required configs json
---------
Co-authored-by: Rachel Menge <rachelmenge@microsoft.com>