Re: [RFC v1 07/11] net/mlx4: Cache irq_desc->affinity instead of irq_desc

From: Thomas Gleixner
Date: Mon May 04 2015 - 11:10:56 EST


On Mon, 4 May 2015, Amir Vadai wrote:

> On Mon, May 4, 2015 at 6:15 AM, Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> 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.

irq_set_affinity_notifier() has been added for exactly this purpose.

Please get rid of your irq_desc abuse.

Thanks,

tglx


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/