Subject: Re: [PATCH net-next 1/9] net/mlx4_core: Enforce irq affinity changes immediatly

From: Amir Vadai <[email-masked]>
Date: Mon, 19 May 2014 14:33:32 +0300

On 5/17/2014 11:33 PM, Ben Hutchings wrote:
> On Mon, 2014-05-12 at 10:43 +0300, Amir Vadai wrote:
>> From: Yuval Atias <[email-masked]>
>>
>> During heavy traffic, napi is constatntly polling the complition queue
>> and no interrupt is fired. Because of that, changes to irq affinity are
>> ignored until traffic is stopped and resumed.
>>
>> By registering to the irq notifier mechanism, and forcing interrupt when
>> affinity is changed, irq affinity changes will be immediatly enforced.
> [...]
>
> This somewhat breaks ARFS in your driver, as that depends on IRQ
> affinity notification.
Interesting...
I missed the fact that irq_set_affinity_notifier is 'set' and not 'add'.
So, do you have objection if I change the API to have a list of 
notifiers instead of only one?

>
> It is also not safe to put an IRQ affinity notification function in a
> module currently, as the work item for notification doesn't carry a
> module reference and could be called after the module is removed.
I can get a module reference when a notifier is added and put it when 
the notifier is removed.

Thanks,
Amir

> Ben.