Re: [PATCH v2 2/4] sched/isolation: Improve documentation

From: Frederic Weisbecker
Date: Tue Nov 29 2022 - 06:54:48 EST


On Thu, Oct 13, 2022 at 03:40:27PM -0300, Leonardo Bras wrote:
> Improve documentation on housekeeping types and what to expect from
> housekeeping functions.
>
> Signed-off-by: Leonardo Bras <leobras@xxxxxxxxxx>
> ---
> include/linux/sched/isolation.h | 25 ++++++++++++++++---------
> 1 file changed, 16 insertions(+), 9 deletions(-)
>
> diff --git a/include/linux/sched/isolation.h b/include/linux/sched/isolation.h
> index 762701f295d1c..9333c28153a7a 100644
> --- a/include/linux/sched/isolation.h
> +++ b/include/linux/sched/isolation.h
> @@ -7,18 +7,25 @@
> #include <linux/tick.h>
>
> enum hk_type {
> - HK_TYPE_TIMER,
> - HK_TYPE_RCU,
> - HK_TYPE_MISC,
> - HK_TYPE_SCHED,
> - HK_TYPE_TICK,
> - HK_TYPE_DOMAIN,
> - HK_TYPE_WQ,
> - HK_TYPE_MANAGED_IRQ,
> - HK_TYPE_KTHREAD,
> + HK_TYPE_TIMER, /* Timer interrupt, watchdogs */

More precisely:

/* Unbound timer callbacks */

> + HK_TYPE_RCU, /* RCU callbacks */

More generally, because it's more than just about callbacks:

/* Unbound RCU work */

> + HK_TYPE_MISC, /* Minor housekeeping categories */
> + HK_TYPE_SCHED, /* Scheduling and idle load balancing */
> + HK_TYPE_TICK, /* See isolcpus=nohz boot parameter */

Yes or nohz_full=

> + HK_TYPE_DOMAIN, /* See isolcpus=domain boot parameter*/
> + HK_TYPE_WQ, /* Work Queues*/

/* Unbound workqueues */

> + HK_TYPE_MANAGED_IRQ, /* See isolcpus=managed_irq boot parameter */
> + HK_TYPE_KTHREAD, /* kernel threads */

/* Unbound kernel threads */


> HK_TYPE_MAX
> };
>
> +/* Kernel parameters like nohz_full and isolcpus allow passing cpu numbers
> + * for disabling housekeeping types.
> + *
> + * The functions bellow work the opposite way, by referencing which cpus
> + * are able to perform the housekeeping type in parameter.
> + */

*below

Thanks!

> +
> #ifdef CONFIG_CPU_ISOLATION
> DECLARE_STATIC_KEY_FALSE(housekeeping_overridden);
> int housekeeping_any_cpu(enum hk_type type);
> --
> 2.38.0
>