Re: [patch 0/4] affine kernel threads to nohz_full= cpumask (v4)
From: Frederic Weisbecker
Date: Mon Apr 20 2020 - 12:02:50 EST
On Wed, Apr 01, 2020 at 09:10:18AM -0300, Marcelo Tosatti wrote:
> This is a kernel enhancement that configures the cpu affinity of kernel
> threads via kernel boot option nohz_full=.
>
> When this option is specified, the cpumask is immediately applied upon
> thread launch. This does not affect kernel threads that specify cpu
> and node.
>
> This allows CPU isolation (that is not allowing certain threads
> to execute on certain CPUs) without using the isolcpus=domain parameter,
> making it possible to enable load balancing on such CPUs
> during runtime (see kernel-parameters.txt).
>
> Note-1: this is based off on Wind River's patch at
> https://github.com/starlingx-staging/stx-integ/blob/master/kernel/kernel-std/centos/patches/affine-compute-kernel-threads.patch
>
> Difference being that this patch is limited to modifying
> kernel thread cpumask: Behaviour of other threads can
> be controlled via cgroups or sched_setaffinity.
>
> Note-2: Wind River's patch was based off Christoph Lameter's patch at
> https://lwn.net/Articles/565932/ with the only difference being
> the kernel parameter changed from kthread to kthread_cpus.
>
> v2: use isolcpus= subcommand (Thomas Gleixner)
>
> v3: s/MontaVista/Wind River/ on changelog (Chris Friesen)
> documentation updates (Chris Friesen)
> undeprecate isolcpus (Chris Friesen)
> general cleanups (Frederic Weisbecker)
> separate cpu_possible_mask kthread
> mask change (Frederic Weisbecker)
>
> v4: disable idle load balancing for nohz_full=
> use nohz_full= option for kthread isolation (Frederic Weisbecker)
>
Thanks for the patches. I'm applying them, I may add a few details
to the changelogs and stuff.