[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1OMtjl-0006PB-9z@gondolin.me.apana.org.au>
Date: Fri, 11 Jun 2010 12:12:49 +1000
From: Herbert Xu <herbert@...dor.apana.org.au>
To: "Michael S. Tsirkin" <mst@...hat.com>,
Qianfeng Zhang <frzhang@...hat.com>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
WANG Cong <amwang@...hat.com>,
Stephen Hemminger <shemminger@...tta.com>,
Matt Mackall <mpm@...enic.com>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Subject: [PATCH 7/8] netpoll: Add netpoll_tx_running
netpoll: Add netpoll_tx_running
This patch adds the helper netpoll_tx_running for use within
ndo_start_xmit. It returns non-zero if ndo_start_xmit is being
invoked by netpoll, and zero otherwise.
This is currently implemented by simply looking at the hardirq
count. This is because for all non-netpoll uses of ndo_start_xmit,
IRQs must be enabled while netpoll always disables IRQs before
calling ndo_start_xmit.
Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au>
---
include/linux/netpoll.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h
index f3ad74a..4c77fe7 100644
--- a/include/linux/netpoll.h
+++ b/include/linux/netpoll.h
@@ -116,6 +116,11 @@ static inline void netpoll_poll_unlock(void *have)
}
}
+static inline int netpoll_tx_running(struct net_device *dev)
+{
+ return irqs_disabled();
+}
+
#else
static inline int netpoll_rx(struct sk_buff *skb)
{
@@ -139,6 +144,10 @@ static inline void netpoll_poll_unlock(void *have)
static inline void netpoll_netdev_init(struct net_device *dev)
{
}
+static inline int netpoll_tx_running(struct net_device *dev)
+{
+ return 0;
+}
#endif
#endif
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists