Improve documentation on housekeeping types and what to expect from
housekeeping functions.
Signed-off-by: Leonardo Bras <leobras@redhat.com>
---
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 */
+ HK_TYPE_RCU, /* RCU callbacks */
+ HK_TYPE_MISC, /* Minor housekeeping categories */
+ HK_TYPE_SCHED, /* Scheduling and idle load balancing */
+ HK_TYPE_TICK, /* See isolcpus=nohz boot parameter */
+ HK_TYPE_DOMAIN, /* See isolcpus=domain boot parameter*/
+ HK_TYPE_WQ, /* Work Queues*/
+ HK_TYPE_MANAGED_IRQ, /* See isolcpus=managed_irq boot parameter */
+ HK_TYPE_KTHREAD, /* 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.
+ */
+
#ifdef CONFIG_CPU_ISOLATION
DECLARE_STATIC_KEY_FALSE(housekeeping_overridden);
int housekeeping_any_cpu(enum hk_type type);
--
2.38.0
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@redhat.com>
> ---
> 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
>
On Tue, 2022-11-29 at 12:54 +0100, Frederic Weisbecker wrote:
> 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@redhat.com>
> > ---
> > 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 */
Both updated, thanks!
Out of curiosity, what does 'Unbound' means in this context?
>
> > + 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!
Done, done, done, done.
Thanks a lot for reviewing!
Best regards,
Leo
>
> > +
> > #ifdef CONFIG_CPU_ISOLATION
> > DECLARE_STATIC_KEY_FALSE(housekeeping_overridden);
> > int housekeeping_any_cpu(enum hk_type type);
> > --
> > 2.38.0
> >
>
On Thu, Oct 13, 2022 at 03:40:27PM -0300, Leonardo Bras wrote: > +/* 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. > + */ So checkpatch should have bitten your head off for this drug-indiced comment style :-) https://lore.kernel.org/all/CA+55aFyQYJerovMsSoSKS7PessZBr4vNp-3QUUwhqk4A4_jcbg@mail.gmail.com/
On Fri, Oct 14, 2022 at 6:03 AM Peter Zijlstra <peterz@infradead.org> wrote: > > On Thu, Oct 13, 2022 at 03:40:27PM -0300, Leonardo Bras wrote: > > > +/* 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. > > + */ > > So checkpatch should have bitten your head off for this drug-indiced > comment style :-) Oh, my bad on this one, I will fix that now. > > https://lore.kernel.org/all/CA+55aFyQYJerovMsSoSKS7PessZBr4vNp-3QUUwhqk4A4_jcbg@mail.gmail.com/ > Any comments in the text? Is that correct? Thanks for the feedback! Best regards, Leo
© 2016 - 2026 Red Hat, Inc.