Message ID | 20221013184028.129486-3-leobras@redhat.com |
---|---|
State | New |
Headers | show |
Series | CPU isolation improvements | expand |
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 > > >
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);
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(-)