netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nitesh Lal <nilal@redhat.com>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@kernel.org>,
	linux-kernel@vger.kernel.org, intel-wired-lan@lists.osuosl.org,
	jbrandeb@kernel.org, "frederic@kernel.org" <frederic@kernel.org>,
	"juri.lelli@redhat.com" <juri.lelli@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	abelits@marvell.com,
	"linux-api@vger.kernel.org" <linux-api@vger.kernel.org>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"rostedt@goodmis.org" <rostedt@goodmis.org>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
	"stephen@networkplumber.org" <stephen@networkplumber.org>,
	"rppt@linux.vnet.ibm.com" <rppt@linux.vnet.ibm.com>,
	"jinyuqi@huawei.com" <jinyuqi@huawei.com>,
	"zhangshaokun@hisilicon.com" <zhangshaokun@hisilicon.com>,
	netdev@vger.kernel.org, chris.friesen@windriver.com,
	Marc Zyngier <maz@kernel.org>
Subject: Re: [PATCH tip:irq/core v1] genirq: remove auto-set of the mask when setting the hint
Date: Tue, 4 May 2021 10:29:09 -0400	[thread overview]
Message-ID: <CAFki+L=D8aS_jub0KHAkfsnvvJ_w8_mMYbaHeZ-GkQF1s_0WDQ@mail.gmail.com> (raw)
In-Reply-To: <16d8ca67-30c6-bb4b-8946-79de8629156e@arm.com>

On Tue, May 4, 2021 at 8:15 AM Robin Murphy <robin.murphy@arm.com> wrote:
>
> On 2021-05-01 03:18, Jesse Brandeburg wrote:
> > It was pointed out by Nitesh that the original work I did in 2014
> > to automatically set the interrupt affinity when requesting a
> > mask is no longer necessary. The kernel has moved on and no
> > longer has the original problem, BUT the original patch
> > introduced a subtle bug when booting a system with reserved or
> > excluded CPUs. Drivers calling this function with a mask value
> > that included a CPU that was currently or in the future
> > unavailable would generally not update the hint.
> >
> > I'm sure there are a million ways to solve this, but the simplest
> > one is to just remove a little code that tries to force the
> > affinity, as Nitesh has shown it fixes the bug and doesn't seem
> > to introduce immediate side effects.
>
> Unfortunately, I think there are quite a few other drivers now relying
> on this behaviour, since they are really using irq_set_affinity_hint()
> as a proxy for irq_set_affinity().

That's true.

> Partly since the latter isn't
> exported to modules, but also I have a vague memory of it being said
> that it's nice to update the user-visible hint to match when the
> affinity does have to be forced to something specific.

If you see the downside of it we are forcing the affinity to match the hint
mask without considering the default SMP affinity mask.

Also, we are repeating things here. First, we set certain mask for a device
IRQ via request_irq code path which does consider the default SMP mask but
then we are letting the driver over-write it.

If we want to set the IRQ mask in a certain way then it should be done at
the time of initial setup itself.

Do you know about a workload/use case that can show the benefit of
this behavior? As then we can try fixing it in the right way.

--
Thanks
Nitesh


  reply	other threads:[~2021-05-04 14:29 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-01  2:18 [PATCH tip:irq/core v1] genirq: remove auto-set of the mask when setting the hint Jesse Brandeburg
2021-05-04 12:15 ` Robin Murphy
2021-05-04 14:29   ` Nitesh Lal [this message]
2021-05-04 16:23   ` Jesse Brandeburg
2021-05-17 16:57     ` Nitesh Lal
2021-05-17 17:26       ` Robin Murphy
2021-05-17 18:08         ` Thomas Gleixner
2021-05-17 18:50           ` Robin Murphy
2021-05-17 19:08             ` Thomas Gleixner
2021-05-17 19:43               ` Thomas Gleixner
2021-05-17 20:18               ` Thomas Gleixner
2021-05-17 18:21         ` Nitesh Lal
2021-05-17 19:47           ` Thomas Gleixner
2021-05-17 21:13             ` Nitesh Lal
2021-05-17 20:48     ` Thomas Gleixner
2021-05-17 22:44       ` Nitesh Lal
2021-05-18  0:03         ` Thomas Gleixner
2021-05-18  0:23           ` Nitesh Lal
2021-05-20 21:57             ` Nitesh Lal
2021-05-21  0:03               ` Nitesh Lal
2021-05-21 11:56                 ` Thomas Gleixner
2021-05-21 12:03                   ` [PATCH] genirq: Provide new interfaces for affinity hints Thomas Gleixner
2021-05-21 15:45                     ` Lijun Pan
2021-05-21 21:45                       ` Thomas Gleixner
2021-05-21 16:13                     ` Nitesh Lal
2021-05-21 21:48                       ` Thomas Gleixner
2021-06-04 20:35                         ` Nitesh Lal
2021-05-27 10:03                     ` Shung-Hsi Yu
2021-05-27 10:21                       ` Shung-Hsi Yu
2021-05-27 13:06                       ` Nitesh Lal
2021-05-28  7:20                         ` Shung-Hsi Yu
2021-06-07 17:00                     ` Nitesh Lal
2021-06-14 16:12                       ` Nitesh Lal
2021-05-21 13:46                   ` [PATCH tip:irq/core v1] genirq: remove auto-set of the mask when setting the hint Nitesh Lal
2021-05-21 15:15                     ` Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFki+L=D8aS_jub0KHAkfsnvvJ_w8_mMYbaHeZ-GkQF1s_0WDQ@mail.gmail.com' \
    --to=nilal@redhat.com \
    --cc=abelits@marvell.com \
    --cc=akpm@linux-foundation.org \
    --cc=bhelgaas@google.com \
    --cc=chris.friesen@windriver.com \
    --cc=davem@davemloft.net \
    --cc=frederic@kernel.org \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=jbrandeb@kernel.org \
    --cc=jesse.brandeburg@intel.com \
    --cc=jinyuqi@huawei.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=mingo@kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=robin.murphy@arm.com \
    --cc=rostedt@goodmis.org \
    --cc=rppt@linux.vnet.ibm.com \
    --cc=sfr@canb.auug.org.au \
    --cc=stephen@networkplumber.org \
    --cc=tglx@linutronix.de \
    --cc=zhangshaokun@hisilicon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).