From: Thomas Gleixner <tglx@linutronix.de>
To: Amir Vadai <amirv@mellanox.com>
Cc: Jiang Liu <jiang.liu@linux.intel.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Randy Dunlap <rdunlap@infradead.org>,
Yinghai Lu <yinghai@kernel.org>, Borislav Petkov <bp@alien8.de>,
Ido Shamay <idos@mellanox.com>,
"David S. Miller" <davem@davemloft.net>,
Or Gerlitz <ogerlitz@mellanox.com>,
Eric Dumazet <edumazet@google.com>,
Hadar Hen Zion <hadarh@mellanox.com>,
Eran Ben Elisha <eranbe@mellanox.com>,
Joe Perches <joe@perches.com>,
Saeed Mahameed <saeedm@mellanox.com>,
Matan Barak <matanb@mellanox.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Tony Luck <tony.luck@intel.com>,
x86@kernel.org,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [RFC v1 07/11] net/mlx4: Cache irq_desc->affinity instead of irq_desc
Date: Tue, 5 May 2015 16:53:33 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.11.1505051652280.4225@nanos> (raw)
In-Reply-To: <CAPcc5Pi7qNQKocTVmfZafVhi3MJwboY=XKYzNmqAnVqt0gU4vw@mail.gmail.com>
On Tue, 5 May 2015, Amir Vadai wrote:
> On Mon, May 4, 2015 at 6:10 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> > On Mon, 4 May 2015, Amir Vadai wrote:
> >
> >> On Mon, May 4, 2015 at 6:15 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> >> > The field 'affinity' in irq_desc won't change once the irq_desc data
> >> > structure is created. So cache irq_desc->affinity instead of irq_desc.
> >> > This also helps to hide struct irq_desc from device drivers.
> >>
> >> Hi Jiang,
> >>
> >> I might not understand the new changes irq core, but up until now
> >> affinity was changed when the user changed it through
> >> /proc/irq/<IRQ>/smp_affinity.
> >> This code is monitoring the affinity from the napi_poll context to
> >> detect affinity changes, and prevent napi from keep running on the
> >> wrong CPU.
> >> Therefore, the affinity can't be cached at the beginning. Please
> >> revert this caching.
> >
> > Sigh. All of this is completely wrong. Polling in the internals of
> > irq_desc is just crap.
> Hi,
>
> >
> > irq_set_affinity_notifier() has been added for exactly this purpose.
> rmap is already registered on irq_set_affinity_notifier().
> Actually, I did post an extension to the affinity notifier, to use
> affinity chain which you rejected [1] (and BTW, convinced me that this
> is not the way to do it).
> Current code is according to your suggestion.
>
> [1] - https://lkml.org/lkml/2014/5/26/222
No, it's not. I wrote:
"So what's the point of adding notifier call chain complexity,
ordering problems etc., if you can simply note the fact that the
affinity changed in the rmap itself and check that in the RX path?"
I did not tell you to fiddle in irqdesc, really.
Thanks,
tglx
next prev parent reply other threads:[~2015-05-05 14:53 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-04 3:15 [RFC v1 00/11] Split struct irq_data into common part and per-chip part Jiang Liu
2015-05-04 3:15 ` [RFC v1 01/11] genirq: Introduce struct irq_common_data to host shared irq data Jiang Liu
2015-05-08 2:23 ` Yun Wu (Abel)
2015-05-18 2:58 ` Jiang Liu
2015-05-04 3:15 ` [RFC v1 02/11] genirq: Move field 'node' from struct irq_data into struct irq_common_data Jiang Liu
2015-05-08 2:29 ` Yun Wu (Abel)
2015-05-08 3:04 ` Yun Wu (Abel)
2015-05-15 20:42 ` Thomas Gleixner
2015-05-04 3:15 ` [RFC v1 03/11] genirq: Use CONFIG_NUMA instead of CONFIG_SMP to guard irq_common_data.node Jiang Liu
2015-05-15 20:44 ` Thomas Gleixner
2015-05-18 5:17 ` Jiang Liu
2015-05-04 3:15 ` [RFC v1 04/11] genirq: Move field 'handler_data' from struct irq_data into struct irq_common_data Jiang Liu
2015-05-04 3:15 ` [RFC v1 05/11] mn10300: Fix incorrect use of data->affinity Jiang Liu
2015-05-04 3:15 ` [RFC v1 06/11] genirq: Introduce helper function irq_data_get_affinity_mask() Jiang Liu
2015-05-04 3:15 ` [RFC v1 07/11] net/mlx4: Cache irq_desc->affinity instead of irq_desc Jiang Liu
2015-05-04 12:10 ` Amir Vadai
2015-05-04 14:00 ` Jiang Liu
2015-05-05 9:07 ` Amir Vadai
2015-05-04 15:10 ` Thomas Gleixner
2015-05-05 9:17 ` Amir Vadai
2015-05-05 14:53 ` Thomas Gleixner [this message]
2015-05-07 10:41 ` Amir Vadai
2015-05-04 3:15 ` [RFC v1 08/11] genirq: Move field 'affinity' from struct irq_data into struct irq_common_data Jiang Liu
2015-05-04 3:15 ` [RFC v1 09/11] genirq: Use helper function to access irq_data->msi_desc Jiang Liu
2015-05-04 3:15 ` [RFC v1 10/11] genirq: Move field 'msi_desc' from struct irq_data into struct irq_common_data Jiang Liu
2015-05-04 3:15 ` [RFC v1 11/11] genirq: Pass irq_data to helper function __irq_set_chip_handler_name_locked() Jiang Liu
2015-05-15 20:48 ` Thomas Gleixner
2015-05-15 20:57 ` [RFC v1 00/11] Split struct irq_data into common part and per-chip part 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=alpine.DEB.2.11.1505051652280.4225@nanos \
--to=tglx@linutronix.de \
--cc=amirv@mellanox.com \
--cc=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=eranbe@mellanox.com \
--cc=hadarh@mellanox.com \
--cc=hpa@zytor.com \
--cc=idos@mellanox.com \
--cc=jiang.liu@linux.intel.com \
--cc=joe@perches.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=matanb@mellanox.com \
--cc=mingo@redhat.com \
--cc=ogerlitz@mellanox.com \
--cc=rdunlap@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=saeedm@mellanox.com \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
--cc=yinghai@kernel.org \
/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