From: Amir Vadai <amirv@mellanox.com>
To: Ben Hutchings <ben@decadent.org.uk>
Cc: "David S. Miller" <davem@davemloft.net>, <netdev@vger.kernel.org>,
Yevgeny Petrilin <yevgenyp@mellanox.com>,
Or Gerlitz <ogerlitz@mellanox.com>,
Yuval Atias <yuvala@mellanox.com>
Subject: Re: [PATCH net-next 1/9] net/mlx4_core: Enforce irq affinity changes immediatly
Date: Mon, 19 May 2014 14:33:32 +0300 [thread overview]
Message-ID: <5379EC0C.5070004@mellanox.com> (raw)
In-Reply-To: <1400358787.2647.65.camel@deadeye.wl.decadent.org.uk>
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 <yuvala@mellanox.com>
>>
>> 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.
>
next prev parent reply other threads:[~2014-05-19 11:33 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-12 7:43 [PATCH net-next 0/9] Mellanox driver update 2014-05-12 Amir Vadai
2014-05-12 7:43 ` [PATCH net-next 1/9] net/mlx4_core: Enforce irq affinity changes immediatly Amir Vadai
2014-05-12 13:57 ` Eric Dumazet
2014-05-13 10:17 ` Amir Vadai
2014-05-17 20:33 ` Ben Hutchings
2014-05-19 11:33 ` Amir Vadai [this message]
2014-05-26 17:20 ` Ben Hutchings
2014-05-12 7:43 ` [PATCH net-next 2/9] net/mlx4_en: User prio mapping gets corrupted when changing number of channels Amir Vadai
2014-05-12 7:43 ` [PATCH net-next 3/9] net/mlx4_en: Fix errors in MAC address changing when port is down Amir Vadai
2014-05-12 7:43 ` [PATCH net-next 4/9] net/mlx4_core: Fix smatch error - possible access to a null variable Amir Vadai
2014-05-12 7:43 ` [PATCH net-next 5/9] net/mlx4_core: Removed unnecessary bit operation condition Amir Vadai
2014-05-12 7:43 ` [PATCH net-next 6/9] net/mlx4_en: Protect MAC address modification with the state_lock mutex Amir Vadai
2014-05-12 7:43 ` [PATCH net-next 7/9] net/mlx4_en: Fix mac_hash database inconsistency Amir Vadai
2014-05-12 7:43 ` [PATCH net-next 8/9] net/mlx4_en: Using positive error value for unsigned Amir Vadai
2014-05-12 7:43 ` [PATCH net-next 9/9] net/mlx4_core: Fix inaccurate return value of mlx4_flow_attach() Amir Vadai
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=5379EC0C.5070004@mellanox.com \
--to=amirv@mellanox.com \
--cc=ben@decadent.org.uk \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=yevgenyp@mellanox.com \
--cc=yuvala@mellanox.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.