Re: Modifying isolcpus, nohz_full, and rcu_nocb kernel parameters at runtime

From: Waiman Long
Date: Fri Dec 08 2023 - 10:40:04 EST



On 12/8/23 09:18, Gianfranco Dutka wrote:

The isolcpus, nohz_full and rcu_nocbs are boot-time kernel parameters. I am in the process of improving dynamic CPU isolation at runtime. Right now, we are able to do isolcpus=domain with the isolated cpuset partition functionality. Other aspects of CPU isolation are being looked at with the goal of reducing the gap of what one can do at boot time versus what can be done at run time. It will certain take time to reach that goal.

Cheers, Longman


Thank you Waiman for the response. It would seem that getting similar functionality through cgroups/cpusets is the only option at the moment. Is it completely out of the question to possibly patch the kernel to modify these parameters at runtime? Or would that entail a significant change that might not be so trivial to accomplish? For instance, the solution wouldn’t be as simple as patching the kernel to make these writeable and then calling the same functions which run at boot-time when these parameters are originally written?

I would say that using cgroup/cpusets is probably the most you can do with dynamic CPU isolation at the moment. OTOH, it may not be a good idea to have more than one way of doing the same thing as it will lead to code duplication and inconsistency. I don't think it is that easy to make CPU isolation fully dynamic and we must be careful not to introduce any regression.

Cheers,
Longman