Message ID | 20200928183529.471328-3-nitesh@redhat.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | isolation: limit msix vectors to housekeeping CPUs | expand |
On Mon, Sep 28, 2020 at 02:35:27PM -0400, Nitesh Narayan Lal wrote: > Extend nohz_full feature set to include isolation from managed IRQS. This So you say it's for managed-irqs, the feature is actually called MANAGED_IRQ, but, AFAICT, it does *NOT* in fact affect managed IRQs. Also, as per Thomas' earlier points, managed-irqs are in fact perfectly fine and don't need help at at... > is required specifically for setups that only uses nohz_full and still > requires isolation for maintaining lower latency for the listed CPUs. > > Suggested-by: Frederic Weisbecker <frederic@kernel.org> > Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com> > --- > kernel/sched/isolation.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c > index 5a6ea03f9882..9df9598a9e39 100644 > --- a/kernel/sched/isolation.c > +++ b/kernel/sched/isolation.c > @@ -141,7 +141,7 @@ static int __init housekeeping_nohz_full_setup(char *str) > unsigned int flags; > > flags = HK_FLAG_TICK | HK_FLAG_WQ | HK_FLAG_TIMER | HK_FLAG_RCU | > - HK_FLAG_MISC | HK_FLAG_KTHREAD; > + HK_FLAG_MISC | HK_FLAG_KTHREAD | HK_FLAG_MANAGED_IRQ; > > return housekeeping_setup(str, flags); > } > -- > 2.18.2 >
On Fri, Oct 23, 2020 at 03:25:05PM +0200, Peter Zijlstra wrote: > On Mon, Sep 28, 2020 at 02:35:27PM -0400, Nitesh Narayan Lal wrote: > > Extend nohz_full feature set to include isolation from managed IRQS. This > > So you say it's for managed-irqs, the feature is actually called > MANAGED_IRQ, but, AFAICT, it does *NOT* in fact affect managed IRQs. > > Also, as per Thomas' earlier points, managed-irqs are in fact perfectly > fine and don't need help at at... > > > is required specifically for setups that only uses nohz_full and still > > requires isolation for maintaining lower latency for the listed CPUs. > > > > Suggested-by: Frederic Weisbecker <frederic@kernel.org> Ah and yes there is this tag :-p So that's my bad, I really thought this thing was about managed IRQ. The problem is that I can't find a single documentation about them so I'm too clueless on that matter. Thanks. > > Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com> > > --- > > kernel/sched/isolation.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c > > index 5a6ea03f9882..9df9598a9e39 100644 > > --- a/kernel/sched/isolation.c > > +++ b/kernel/sched/isolation.c > > @@ -141,7 +141,7 @@ static int __init housekeeping_nohz_full_setup(char *str) > > unsigned int flags; > > > > flags = HK_FLAG_TICK | HK_FLAG_WQ | HK_FLAG_TIMER | HK_FLAG_RCU | > > - HK_FLAG_MISC | HK_FLAG_KTHREAD; > > + HK_FLAG_MISC | HK_FLAG_KTHREAD | HK_FLAG_MANAGED_IRQ; > > > > return housekeeping_setup(str, flags); > > } > > -- > > 2.18.2 > >
On 10/23/20 9:25 AM, Peter Zijlstra wrote: > On Mon, Sep 28, 2020 at 02:35:27PM -0400, Nitesh Narayan Lal wrote: >> Extend nohz_full feature set to include isolation from managed IRQS. This > So you say it's for managed-irqs, the feature is actually called > MANAGED_IRQ, but, AFAICT, it does *NOT* in fact affect managed IRQs. Ah my bad! I should replace the managed IRQS with MANAGED_IRQ. I can send another version with this fixed. > > Also, as per Thomas' earlier points, managed-irqs are in fact perfectly > fine and don't need help at at... Since the introduction of "genirq, sched/isolation: Isolate from handling managed interrupts" Within irq_do_set_affinity(), it is ensured that for managed intrrupts as well, the isolated CPUs are removed from the affinity mask. Hence, IMHO before this change managed interrupts were affecting the isolated CPUs. My intent of having this change is to basically allow isolation for nohz_full CPUs even when we don't have something like isolcpus. Does that make sense? > >> is required specifically for setups that only uses nohz_full and still >> requires isolation for maintaining lower latency for the listed CPUs. >> >> Suggested-by: Frederic Weisbecker <frederic@kernel.org> >> Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com> >> --- >> kernel/sched/isolation.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c >> index 5a6ea03f9882..9df9598a9e39 100644 >> --- a/kernel/sched/isolation.c >> +++ b/kernel/sched/isolation.c >> @@ -141,7 +141,7 @@ static int __init housekeeping_nohz_full_setup(char *str) >> unsigned int flags; >> >> flags = HK_FLAG_TICK | HK_FLAG_WQ | HK_FLAG_TIMER | HK_FLAG_RCU | >> - HK_FLAG_MISC | HK_FLAG_KTHREAD; >> + HK_FLAG_MISC | HK_FLAG_KTHREAD | HK_FLAG_MANAGED_IRQ; >> >> return housekeeping_setup(str, flags); >> } >> -- >> 2.18.2 >>
On 10/23/20 9:29 AM, Frederic Weisbecker wrote: > On Fri, Oct 23, 2020 at 03:25:05PM +0200, Peter Zijlstra wrote: >> On Mon, Sep 28, 2020 at 02:35:27PM -0400, Nitesh Narayan Lal wrote: >>> Extend nohz_full feature set to include isolation from managed IRQS. This >> So you say it's for managed-irqs, the feature is actually called >> MANAGED_IRQ, but, AFAICT, it does *NOT* in fact affect managed IRQs. >> >> Also, as per Thomas' earlier points, managed-irqs are in fact perfectly >> fine and don't need help at at... >> >>> is required specifically for setups that only uses nohz_full and still >>> requires isolation for maintaining lower latency for the listed CPUs. >>> >>> Suggested-by: Frederic Weisbecker <frederic@kernel.org> > Ah and yes there is this tag :-p > > So that's my bad, I really thought this thing was about managed IRQ. > The problem is that I can't find a single documentation about them so I'm > too clueless on that matter. I am also confused with this terminology. So my bad for not taking care of this.
diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c index 5a6ea03f9882..9df9598a9e39 100644 --- a/kernel/sched/isolation.c +++ b/kernel/sched/isolation.c @@ -141,7 +141,7 @@ static int __init housekeeping_nohz_full_setup(char *str) unsigned int flags; flags = HK_FLAG_TICK | HK_FLAG_WQ | HK_FLAG_TIMER | HK_FLAG_RCU | - HK_FLAG_MISC | HK_FLAG_KTHREAD; + HK_FLAG_MISC | HK_FLAG_KTHREAD | HK_FLAG_MANAGED_IRQ; return housekeeping_setup(str, flags); }
Extend nohz_full feature set to include isolation from managed IRQS. This is required specifically for setups that only uses nohz_full and still requires isolation for maintaining lower latency for the listed CPUs. Suggested-by: Frederic Weisbecker <frederic@kernel.org> Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com> --- kernel/sched/isolation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)