make lazy RCU a boot time option
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Noble |
Fix Released
|
Undecided
|
Unassigned | ||
linux-lowlatency (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Noble |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
With LP: #2023007 we have decided to enable CONFIG_RCU_LAZY in the lowlatency kernel to improve power consumption, but this option can potentially introduce performance regressions in some cases, due to the fact that RCU callbacks are now batched and flushed all at once after a timed delay.
It would be definitely safer to have a way to enable/disable lazy RCUs at boot time. In this way we could provide a simple kernel command line option that can be used in all those cases where the lowlatency kernel is required, but we don't want to risk performance regressions.
[Test case]
In this context providing a single test case is not relevant. After applying the fix any performance benchmark can be used to evaluate if lazy RCU feature should be enabled at boot time or not (according to the specific context where the lowlatency kernel is going to be used/deployed).
[Fix]
Apply this patch to the *generic* kernel:
https://<email address hidden>/T/#u
We want to apply this to the generic kernel, not just lowlatency, because in this way *all* derivatives will have the possibility to get this feature, in case some of them want to enable lazy RCUs (even generic itself).
Then make sure that lowlatency (or any other kernel with CONFIG_RCU_LAZY=y) also has CONFIG_
[Regression potential]
We may receive reports of small performance regressions vs power consumption regressions, depending on the rcutree.
This bug was fixed in the package linux - 6.8.0-11.11
---------------
linux (6.8.0-11.11) noble; urgency=medium
* noble/linux: 6.8.0-11.11 -proposed tracker (LP: #2053094)
* Miscellaneous Ubuntu changes
- [Packaging] riscv64: disable building unnecessary binary debs
-- Paolo Pisati <email address hidden> Wed, 14 Feb 2024 00:04:31 +0100