diff options
author | Jarek Poplawski <jarkao2@gmail.com> | 2010-08-12 01:17:51 -0500 |
---|---|---|
committer | Sebastien Jan <s-jan@ti.com> | 2010-09-28 14:57:02 +0200 |
commit | 8e258565e3e9226d8edca484466b1fbb40aed981 (patch) | |
tree | 8c84324c3ded227ae3bc4b00abb7ce097278c4df /net | |
parent | fe1417c01f0b6be71cf1ffb0dc3e641b049c9397 (diff) |
net: Adjust softirq raising in __napi_schedule
This patch changes __raise_softirq_irqoff() to raise_softirq_irqoff()
in __napi_schedule() to enable proper softirq scheduling from process
context. The main intent is to let use netif_rx() universally, and
make netif_rx_ni() redundant.
Currently using netif_rx() instead of netif_rx_ni() triggers:
"NOHZ: local_softirq_pending 08" warnings, but additional cost of one
"if" on the fast path doesn't seem to justify maintaining it
separately.
This patch is based on the analysis, suggestions and the original
patch for mac80211 by: Michael Buesch <mb@bu3sch.de>
Another patch calling netif_rx variants conditionally was done by:
Oliver Hartkopp <oliver@hartkopp.net>
Reported-by: Michael Buesch <mb@bu3sch.de>
Reported-by: Oliver Hartkopp <oliver@hartkopp.net>
Reported-by: Tilman Schmidt <tilman@imap.cc>
Diagnosed-by: Michael Buesch <mb@bu3sch.de>
Tested-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: Abraham Arce <x0066660@ti.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 1f466e82ac33..4c8f36d3ff70 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2243,7 +2243,7 @@ static inline void ____napi_schedule(struct softnet_data *sd, struct napi_struct *napi) { list_add_tail(&napi->poll_list, &sd->poll_list); - __raise_softirq_irqoff(NET_RX_SOFTIRQ); + raise_softirq_irqoff(NET_RX_SOFTIRQ); } #ifdef CONFIG_RPS |