summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2020-05-07 18:11:07 -0700
committerDavid S. Miller <davem@davemloft.net>2020-05-07 18:11:07 -0700
commit738fea32af86f5d58f30dfca6645494070c976ef (patch)
tree5d1540325ac32853f85625cdb0262934f8244dbc /include/linux
parent3a13f98b4c16fb3489bdfd7550fcaa333ee69850 (diff)
parentae46f184bc1fb15bf2de47114c29236e61ca4bbc (diff)
downloadcachepc-linux-738fea32af86f5d58f30dfca6645494070c976ef.tar.gz
cachepc-linux-738fea32af86f5d58f30dfca6645494070c976ef.zip
Merge branch 'bonding-report-transmit-status-to-callers'
Eric Dumazet says: ==================== bonding: report transmit status to callers First patches cleanup netpoll, and make sure it provides tx status to its users. Last patch changes bonding to not pretend packets were sent without error. By providing more accurate status, TCP stack can avoid adding more packets if the slave qdisc is already full. This came while testing latest horizon feature in sch_fq, with very low pacing rate flows, but should benefit hosts under stress. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/if_team.h5
-rw-r--r--include/linux/netpoll.h10
2 files changed, 2 insertions, 13 deletions
diff --git a/include/linux/if_team.h b/include/linux/if_team.h
index ec7e4bd07f82..537dc2b8c879 100644
--- a/include/linux/if_team.h
+++ b/include/linux/if_team.h
@@ -102,10 +102,7 @@ static inline bool team_port_dev_txable(const struct net_device *port_dev)
static inline void team_netpoll_send_skb(struct team_port *port,
struct sk_buff *skb)
{
- struct netpoll *np = port->np;
-
- if (np)
- netpoll_send_skb(np, skb);
+ netpoll_send_skb(port->np, skb);
}
#else
static inline void team_netpoll_send_skb(struct team_port *port,
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h
index 676f1ff161a9..f47af135bd56 100644
--- a/include/linux/netpoll.h
+++ b/include/linux/netpoll.h
@@ -63,15 +63,7 @@ int netpoll_setup(struct netpoll *np);
void __netpoll_cleanup(struct netpoll *np);
void __netpoll_free(struct netpoll *np);
void netpoll_cleanup(struct netpoll *np);
-void netpoll_send_skb_on_dev(struct netpoll *np, struct sk_buff *skb,
- struct net_device *dev);
-static inline void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb)
-{
- unsigned long flags;
- local_irq_save(flags);
- netpoll_send_skb_on_dev(np, skb, np->dev);
- local_irq_restore(flags);
-}
+netdev_tx_t netpoll_send_skb(struct netpoll *np, struct sk_buff *skb);
#ifdef CONFIG_NETPOLL
static inline void *netpoll_poll_lock(struct napi_struct *napi)