From: ebiederm@xmission•com (Eric W. Biederman)
To: David Miller <davem@davemloft•net>
Cc: stephen@networkplumber•org, eric.dumazet@gmail•com,
netdev@vger•kernel.org, xiyou.wangcong@gmail•com,
mpm@selenic•com, satyam.sharma@gmail•com
Subject: [PATCH 2/6] netpoll: Only call ndo_start_xmit from a single place
Date: Mon, 17 Mar 2014 23:24:56 -0700 [thread overview]
Message-ID: <877g7sgh1j.fsf_-_@xmission.com> (raw)
In-Reply-To: <87iorcgh5d.fsf_-_@xmission.com> (Eric W. Biederman's message of "Mon, 17 Mar 2014 23:22:38 -0700")
Factor out the code that needs to surround ndo_start_xmit
from netpoll_send_skb_on_dev into netpoll_start_xmit.
It is an unfortunate fact that as the netpoll code has been maintained
the primary call site ndo_start_xmit learned how to handle vlans
and timestamps but the second call of ndo_start_xmit in queue_process
did not.
With the introduction of netpoll_start_xmit this associated logic now
happens at both call sites of ndo_start_xmit and should make it easy
for that to continue into the future.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission•com>
---
net/core/netpoll.c | 61 ++++++++++++++++++++++++++++++---------------------
1 files changed, 36 insertions(+), 25 deletions(-)
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index 4bccc78c5b58..825200fcb0ff 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -69,6 +69,37 @@ module_param(carrier_timeout, uint, 0644);
#define np_notice(np, fmt, ...) \
pr_notice("%s: " fmt, np->name, ##__VA_ARGS__)
+static int netpoll_start_xmit(struct sk_buff *skb, struct net_device *dev,
+ struct netdev_queue *txq)
+{
+ const struct net_device_ops *ops = dev->netdev_ops;
+ int status = NETDEV_TX_OK;
+ netdev_features_t features;
+
+ features = netif_skb_features(skb);
+
+ if (vlan_tx_tag_present(skb) &&
+ !vlan_hw_offload_capable(features, skb->vlan_proto)) {
+ skb = __vlan_put_tag(skb, skb->vlan_proto,
+ vlan_tx_tag_get(skb));
+ if (unlikely(!skb)) {
+ /* This is actually a packet drop, but we
+ * don't want the code that calls this
+ * function to try and operate on a NULL skb.
+ */
+ goto out;
+ }
+ skb->vlan_tci = 0;
+ }
+
+ status = ops->ndo_start_xmit(skb, dev);
+ if (status == NETDEV_TX_OK)
+ txq_trans_update(txq);
+
+out:
+ return status;
+}
+
static void queue_process(struct work_struct *work)
{
struct netpoll_info *npinfo =
@@ -78,7 +109,6 @@ static void queue_process(struct work_struct *work)
while ((skb = skb_dequeue(&npinfo->txq))) {
struct net_device *dev = skb->dev;
- const struct net_device_ops *ops = dev->netdev_ops;
struct netdev_queue *txq;
if (!netif_device_present(dev) || !netif_running(dev)) {
@@ -91,7 +121,7 @@ static void queue_process(struct work_struct *work)
local_irq_save(flags);
__netif_tx_lock(txq, smp_processor_id());
if (netif_xmit_frozen_or_stopped(txq) ||
- ops->ndo_start_xmit(skb, dev) != NETDEV_TX_OK) {
+ netpoll_start_xmit(skb, dev, txq) != NETDEV_TX_OK) {
skb_queue_head(&npinfo->txq, skb);
__netif_tx_unlock(txq);
local_irq_restore(flags);
@@ -295,7 +325,6 @@ void netpoll_send_skb_on_dev(struct netpoll *np, struct sk_buff *skb,
{
int status = NETDEV_TX_BUSY;
unsigned long tries;
- const struct net_device_ops *ops = dev->netdev_ops;
/* It is up to the caller to keep npinfo alive. */
struct netpoll_info *npinfo;
@@ -317,27 +346,9 @@ void netpoll_send_skb_on_dev(struct netpoll *np, struct sk_buff *skb,
for (tries = jiffies_to_usecs(1)/USEC_PER_POLL;
tries > 0; --tries) {
if (__netif_tx_trylock(txq)) {
- if (!netif_xmit_stopped(txq)) {
- if (vlan_tx_tag_present(skb) &&
- !vlan_hw_offload_capable(netif_skb_features(skb),
- skb->vlan_proto)) {
- skb = __vlan_put_tag(skb, skb->vlan_proto, vlan_tx_tag_get(skb));
- if (unlikely(!skb)) {
- /* This is actually a packet drop, but we
- * don't want the code at the end of this
- * function to try and re-queue a NULL skb.
- */
- status = NETDEV_TX_OK;
- goto unlock_txq;
- }
- skb->vlan_tci = 0;
- }
-
- status = ops->ndo_start_xmit(skb, dev);
- if (status == NETDEV_TX_OK)
- txq_trans_update(txq);
- }
- unlock_txq:
+ if (!netif_xmit_stopped(txq))
+ status = netpoll_start_xmit(skb, dev, txq);
+
__netif_tx_unlock(txq);
if (status == NETDEV_TX_OK)
@@ -353,7 +364,7 @@ void netpoll_send_skb_on_dev(struct netpoll *np, struct sk_buff *skb,
WARN_ONCE(!irqs_disabled(),
"netpoll_send_skb_on_dev(): %s enabled interrupts in poll (%pF)\n",
- dev->name, ops->ndo_start_xmit);
+ dev->name, dev->netdev_ops->ndo_start_xmit);
}
--
1.7.5.4
next prev parent reply other threads:[~2014-03-18 6:25 UTC|newest]
Thread overview: 288+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-03 20:40 [PATCH] netpoll: Don't call driver methods from interrupt context Eric W. Biederman
2014-03-04 4:23 ` Cong Wang
2014-03-04 10:29 ` Eric W. Biederman
2014-03-04 21:09 ` David Miller
2014-03-04 21:08 ` David Miller
2014-03-05 0:03 ` Eric W. Biederman
2014-03-05 0:26 ` David Miller
2014-03-05 19:24 ` Eric W. Biederman
2014-03-07 19:30 ` David Miller
2014-03-08 5:13 ` Eric W. Biederman
2014-03-05 19:14 ` Eric W. Biederman
2014-03-11 3:16 ` [PATCH next-next 0/11] Using dev_kfree_skb_any for functions called in multiple contexts Eric W. Biederman
2014-03-11 3:18 ` [PATCH 01/11] bonding: Call dev_kfree_skby_any instead of kfree_skb Eric W. Biederman
2014-03-11 3:44 ` Eric Dumazet
2014-03-11 4:00 ` Eric W. Biederman
2014-03-11 4:56 ` Eric Dumazet
2014-03-11 4:42 ` David Miller
2014-03-11 5:02 ` Eric Dumazet
2014-03-11 8:43 ` [RFC PATCH 0/2] remove netpoll rx support Eric W. Biederman
2014-03-11 8:44 ` [RFC PATCH 1/2] netpoll: Remove dead netpoll_rx code Eric W. Biederman
2014-03-11 12:29 ` Eric Dumazet
2014-03-11 15:23 ` Stephen Hemminger
2014-03-11 15:34 ` Hannes Frederic Sowa
2014-03-11 20:48 ` Eric W. Biederman
2014-03-12 18:31 ` Cong Wang
2014-03-13 19:23 ` David Miller
2014-03-13 20:46 ` Eric W. Biederman
2014-03-15 1:30 ` [PATCH 0/9] netpoll: Cleanup received packet processing Eric W. Biederman
2014-03-15 1:31 ` [PATCH 1/9] netpoll: Pass budget into poll_napi Eric W. Biederman
2014-03-15 1:32 ` [PATCH 2/9] netpoll: Visit all napi handlers in poll_napi Eric W. Biederman
2014-03-15 1:33 ` [PATCH 3/9] netpoll: Warn if more packets are processed than are budgeted Eric W. Biederman
2014-03-15 1:33 ` [PATCH 4/9] netpoll: Add netpoll_rx_processing Eric W. Biederman
2014-03-15 1:34 ` [PATCH 5/9] netpoll: Don't drop all received packets Eric W. Biederman
2014-03-15 1:35 ` [PATCH 6/9] netpoll: Move netpoll_trap under CONFIG_NETPOLL_TRAP Eric W. Biederman
2014-03-15 1:36 ` [PATCH 7/9] netpoll: Consolidate neigh_tx processing in service_neigh_queue Eric W. Biederman
2014-03-15 1:37 ` [PATCH 8/9] netpoll: Move all receive processing under CONFIG_NETPOLL_TRAP Eric W. Biederman
2014-03-15 1:39 ` [PATCH 9/9] netpoll: Remove dead packet receive code (CONFIG_NETPOLL_TRAP) Eric W. Biederman
2014-03-15 2:59 ` [PATCH 0/9] netpoll: Cleanup received packet processing David Miller
2014-03-15 3:39 ` Eric W. Biederman
2014-03-15 3:43 ` [PATCH 00/10] " Eric W. Biederman
2014-03-15 3:44 ` [PATCH 01/10] netpoll: move setting of NETPOLL_RX_DROP into netpoll_poll_dev Eric W. Biederman
2014-03-15 3:45 ` [PATCH 02/10] netpoll: Pass budget into poll_napi Eric W. Biederman
2014-03-15 3:45 ` [PATCH 03/10] netpoll: Visit all napi handlers in poll_napi Eric W. Biederman
2014-03-15 3:47 ` [PATCH 04/10] netpoll: Warn if more packets are processed than are budgeted Eric W. Biederman
2014-03-15 3:47 ` [PATCH 05/10] netpoll: Add netpoll_rx_processing Eric W. Biederman
2014-03-15 3:48 ` [PATCH 06/10] netpoll: Don't drop all received packets Eric W. Biederman
2014-03-15 3:49 ` [PATCH 07/10] netpoll: Move netpoll_trap under CONFIG_NETPOLL_TRAP Eric W. Biederman
2014-03-15 3:50 ` [PATCH 08/10] netpoll: Consolidate neigh_tx processing in service_neigh_queue Eric W. Biederman
2014-03-15 3:50 ` [PATCH 09/10] netpoll: Move all receive processing under CONFIG_NETPOLL_TRAP Eric W. Biederman
2014-03-15 3:51 ` [PATCH 10/10] netpoll: Remove dead packet receive code (CONFIG_NETPOLL_TRAP) Eric W. Biederman
2014-03-17 19:49 ` [PATCH 00/10] netpoll: Cleanup received packet processing David Miller
2014-03-18 6:22 ` [PATCH 0/6] netpoll: Cleanups and fixes Eric W. Biederman
2014-03-18 6:24 ` [PATCH 1/6] netpoll: Remove gfp parameter from __netpoll_setup Eric W. Biederman
2014-03-18 6:24 ` Eric W. Biederman [this message]
2014-03-18 6:25 ` [PATCH 3/6] netpoll: Don't allow on devices that perform their own xmit locking Eric W. Biederman
2014-03-18 18:26 ` Cong Wang
2014-03-18 18:38 ` David Miller
2014-03-18 6:26 ` [PATCH 4/6] netpoll: Move rx enable/disable into __dev_close_many Eric W. Biederman
2014-03-18 6:27 ` [PATCH 5/6] netpoll: Rename netpoll_rx_enable/disable to netpoll_poll_disable/enable Eric W. Biederman
2014-03-18 6:27 ` [PATCH 6/6] net: Free skbs from irqs when possible Eric W. Biederman
2014-03-18 9:32 ` David Laight
2014-03-18 13:22 ` Eric Dumazet
2014-03-18 17:51 ` Eric W. Biederman
2014-03-18 13:30 ` Ben Hutchings
2014-03-18 14:24 ` Bjørn Mork
2014-03-18 15:23 ` Eric Dumazet
2014-03-18 15:41 ` Bjørn Mork
2014-03-18 15:52 ` David Laight
2014-03-28 1:14 ` [PATCH 0/3] netpoll: Freeing skbs in hard irq context Eric W. Biederman
2014-03-28 1:15 ` [PATCH 1/3] net: Add a test to see if a skb is freeable in " Eric W. Biederman
2014-03-29 22:09 ` David Miller
2014-04-01 8:03 ` Eric W. Biederman
2014-04-01 16:15 ` David Miller
2014-03-28 1:20 ` [PATCH 2/3] netpoll: Use skb_irq_freeable to make zap_completion_queue safe Eric W. Biederman
2014-03-28 13:17 ` Sergei Shtylyov
2014-04-01 19:19 ` [PATCH v2 0/2] " Eric W. Biederman
2014-04-01 19:20 ` [PATCH v2 1/2] net: Add a test to see if a skb is freeable in irq context Eric W. Biederman
2014-04-01 19:49 ` Eric Dumazet
2014-04-01 19:21 ` [PATCH v2 2/2] netpoll: Use skb_irq_freeable to make zap_completion_queue safe Eric W. Biederman
2014-04-01 21:54 ` [PATCH v2 0/2] " David Miller
2014-03-28 1:23 ` [PATCH 3/3] net: Warn when a skb is freed inappropriately in hard irq context Eric W. Biederman
2014-03-18 17:53 ` [PATCH 6/6] net: Free skbs from irqs when possible Eric W. Biederman
2014-03-18 15:23 ` Stephen Hemminger
2014-03-18 17:47 ` Eric W. Biederman
2014-03-18 18:37 ` David Miller
2014-03-27 23:02 ` Eric W. Biederman
2014-03-27 22:35 ` [PATCH v2 0/6] netpoll: Cleanups and fixes Eric W. Biederman
2014-03-27 22:36 ` [PATCH v2 1/6] netpoll: Remove gfp parameter from __netpoll_setup Eric W. Biederman
2014-03-27 22:37 ` [PATCH v2 2/6] netpoll: Only call ndo_start_xmit from a single place Eric W. Biederman
2014-03-27 22:38 ` [PATCH v2 3/6] netpoll: Move rx enable/disable into __dev_close_many Eric W. Biederman
2014-03-27 22:39 ` [PATCH v2 4/6] netpoll: Rename netpoll_rx_enable/disable to netpoll_poll_disable/enable Eric W. Biederman
2014-03-27 22:41 ` [PATCH v2 5/6] netpoll: Remove strong unnecessary assumptions about skbs Eric W. Biederman
2014-03-27 22:42 ` [PATCH v2 6/6] netpoll: Respect NETIF_F_LLTX Eric W. Biederman
2014-03-29 22:01 ` [PATCH v2 0/6] netpoll: Cleanups and fixes David Miller
2014-03-11 8:45 ` [RFC PATCH 2/2] netpoll: Don't poll for received packets Eric W. Biederman
2014-03-11 12:44 ` Eric Dumazet
2014-03-12 18:39 ` Cong Wang
2014-03-13 20:48 ` Eric W. Biederman
2014-03-11 12:24 ` [RFC PATCH 0/2] remove netpoll rx support Eric Dumazet
2014-03-11 16:49 ` David Miller
2014-03-11 19:48 ` Eric W. Biederman
2014-03-11 20:09 ` David Miller
2014-03-11 21:13 ` [PATCH next-next 0/10] Using dev_kfree_skb_any for functions called in multiple contexts Eric W. Biederman
2014-03-11 21:14 ` [PATCH net-next 01/10] 8139cp: Call dev_kfree_skby_any instead of kfree_skb Eric W. Biederman
2014-03-11 21:15 ` [PATCH net-next 02/10] 8139too: Call dev_kfree_skby_any instead of dev_kfree_skb Eric W. Biederman
2014-03-12 2:06 ` Eric Dumazet
2014-03-12 21:24 ` Francois Romieu
2014-03-12 22:01 ` Eric Dumazet
2014-03-13 21:08 ` Eric W. Biederman
2014-03-14 4:26 ` [PATCH net-next] net: Replace u64_stats_fetch_begin_bh to u64_stats_fetch_begin_irq Eric W. Biederman
2014-03-15 2:41 ` David Miller
2014-03-11 21:16 ` [PATCH net-next 03/10] r8169: Call dev_kfree_skby_any instead of dev_kfree_skb Eric W. Biederman
2014-03-12 2:02 ` Eric Dumazet
2014-03-11 21:16 ` [PATCH net-next 04/10] bonding: Call dev_kfree_skby_any instead of kfree_skb Eric W. Biederman
2014-03-11 21:17 ` [PATCH net-next 05/10] bnx2: Call dev_kfree_skby_any instead of dev_kfree_skb Eric W. Biederman
2014-03-11 21:18 ` [PATCH net-next 06/10] tg3: " Eric W. Biederman
2014-03-11 21:18 ` [PATCH net-next 07/10] ixgb: " Eric W. Biederman
2014-03-11 21:19 ` [PATCH net-next 08/10] mlx4: " Eric W. Biederman
2014-03-11 21:19 ` [PATCH net-next 09/10] benet: Call dev_kfree_skby_any instead of kfree_skb Eric W. Biederman
2014-03-11 21:20 ` [PATCH net-next 10/10] gianfar: Carefully free skbs in functions called by netpoll Eric W. Biederman
2014-03-12 2:54 ` [PATCH next-next 0/10] Using dev_kfree_skb_any for functions called in multiple contexts Eric Dumazet
2014-03-12 20:22 ` David Miller
2014-03-25 5:58 ` [net-next 00/54][pull request] Using dev_kfree/consume_skb_any " Eric W. Biederman
2014-03-25 6:04 ` [PATCH 01/54] uml/net_kern: Call dev_consume_skb_any instead of dev_kfree_skb Eric W. Biederman
2014-03-25 6:04 ` [PATCH 02/54] 3c509: " Eric W. Biederman
2014-03-25 13:03 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 03/54] 3c59x: " Eric W. Biederman
2014-03-25 13:04 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 04/54] 8390: " Eric W. Biederman
2014-03-25 13:06 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 05/54] bfin_mac: " Eric W. Biederman
2014-03-25 13:10 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 06/54] sun4i-emac: " Eric W. Biederman
2014-03-25 13:11 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 07/54] am79c961a: " Eric W. Biederman
2014-03-25 13:13 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 08/54] lance: " Eric W. Biederman
2014-03-25 13:14 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 09/54] pcnet32: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 13:15 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 10/54] alx: " Eric W. Biederman
2014-03-25 13:16 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 11/54] atl1c: Call dev_kfree/consume_skb_any " Eric W. Biederman
2014-03-25 13:18 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 12/54] bnad: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 13:19 ` Eric Dumazet
2014-03-25 6:04 ` [PATCH 13/54] macb: Call dev_kfree_skb_any instead of kfree_skb Eric W. Biederman
2014-03-25 13:21 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 14/54] xgmac: Call dev_kfree/consume_skb_any instead of dev_kfree_skb Eric W. Biederman
2014-03-25 15:16 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 15/54] cxgb3: Call dev_kfree/consume_skb_any instead of [dev_]kfree_skb Eric W. Biederman
2014-03-25 15:18 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 16/54] cxgb4: " Eric W. Biederman
2014-03-25 15:19 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 17/54] cxfb4vf: " Eric W. Biederman
2014-03-25 15:22 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 18/54] cs89x0: Call dev_consume_skb_any instead of dev_kfree_skb Eric W. Biederman
2014-03-25 15:23 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 19/54] enic: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 15:24 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 20/54] dm9000: Call dev_consume_skb_any " Eric W. Biederman
2014-03-25 15:26 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 21/54] dmfe: Call dev_kfree/consume_skb_any " Eric W. Biederman
2014-03-25 15:28 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 22/54] uli526x: " Eric W. Biederman
2014-03-25 15:29 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 23/54] sundance: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 15:29 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 24/54] fec: Call dev_kfree_skb_any instead of kfree_skb Eric W. Biederman
2014-03-25 15:30 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 25/54] ucc_geth: Call dev_consume_skb_any instead of dev_kfree_skb Eric W. Biederman
2014-03-25 15:30 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 26/54] i825xx: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 15:31 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 27/54] ehea: Call dev_consume_skb_any " Eric W. Biederman
2014-03-25 15:39 ` Eric Dumazet
2014-03-25 15:39 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 28/54] ibmveth: " Eric W. Biederman
2014-03-25 6:05 ` [PATCH 29/54] jme: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 15:45 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 30/54] mv643xx_eth: " Eric W. Biederman
2014-03-25 15:46 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 31/54] skge: Call dev_kfree/consume_skb_any " Eric W. Biederman
2014-03-25 15:47 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 32/54] sky2: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 16:23 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 33/54] ksz884x: Call dev_consume_skb_any " Eric W. Biederman
2014-03-25 16:23 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 34/54] s2io: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 16:25 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 35/54] vxge: " Eric W. Biederman
2014-03-25 16:26 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 36/54] forcedeth: Call dev_kfree_skb_any instead of kfree_skb Eric W. Biederman
2014-03-25 16:27 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 37/54] sc92031: Call dev_consume_skb_any instead of dev_kfree_skb Eric W. Biederman
2014-03-25 20:39 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 38/54] sis900: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 20:39 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 39/54] smc911x: " Eric W. Biederman
2014-03-25 20:40 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 40/54] smc91x: Call dev_kfree/consume_skb_any " Eric W. Biederman
2014-03-25 20:40 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 41/54] smsc911x: Call dev_consume_skb_any " Eric W. Biederman
2014-03-25 20:41 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 42/54] stmmac: " Eric W. Biederman
2014-03-25 20:42 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 43/54] sungem: " Eric W. Biederman
2014-03-25 20:42 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 44/54] tilepro: Call dev_consume_skb_any instead of kfree_skb Eric W. Biederman
2014-03-25 20:43 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 45/54] spider_net: Call dev_consume_skb_any instead of dev_kfree_skb Eric W. Biederman
2014-03-25 20:44 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 46/54] via-rhine: Call dev_kfree/consume_skb_any " Eric W. Biederman
2014-03-25 20:44 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 47/54] via-velocity: Call dev_kfree_skb_any instead of kfree_skb Eric W. Biederman
2014-03-25 20:45 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 48/54] xilinx_emaclite: Call dev_consume_skb_any instead of dev_kfree_skb Eric W. Biederman
2014-03-25 20:46 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 49/54] vmxnet3: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 20:46 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 50/54] xen-netfront: " Eric W. Biederman
2014-03-25 20:46 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 51/54] wlags49_h2: Call dev_kfree/consume_skb_any " Eric W. Biederman
2014-03-25 20:47 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 52/54] staging/octeon-ethernet: " Eric W. Biederman
2014-03-25 20:47 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 53/54] virtio_net: Call dev_kfree_skb_any " Eric W. Biederman
2014-03-25 20:48 ` Eric Dumazet
2014-03-25 6:05 ` [PATCH 54/54] if_vlan: Call dev_kfree_skb_any instead of kfree_skb Eric W. Biederman
2014-03-25 20:48 ` Eric Dumazet
2014-03-25 13:01 ` [PATCH 01/54] uml/net_kern: Call dev_consume_skb_any instead of dev_kfree_skb Eric Dumazet
2014-03-25 18:05 ` Eric W. Biederman
2014-03-26 9:49 ` David Laight
2014-03-25 20:49 ` [net-next 00/54][pull request] Using dev_kfree/consume_skb_any for functions called in multiple contexts Eric Dumazet
2014-03-25 22:54 ` David Miller
2014-03-11 21:30 ` [PATCH net-next 0/2] Don't receive packets when the napi budget == 0 Eric W. Biederman
2014-03-11 21:31 ` [PATCH net-next 1/2] bnx2: " Eric W. Biederman
2014-03-12 5:07 ` Eric Dumazet
2014-03-11 21:31 ` [PATCH net-next 2/2] 8139cp: " Eric W. Biederman
2014-03-12 5:08 ` Eric Dumazet
2014-03-13 19:19 ` [PATCH net-next 0/2] " David Miller
2014-03-15 0:56 ` [PATCH net-next 0/16] " Eric W. Biederman
2014-03-15 0:57 ` [PATCH net-next 01/16] bnx2x: " Eric W. Biederman
2014-03-15 0:59 ` [PATCH net-next 02/16] i40e: " Eric W. Biederman
2014-03-15 1:00 ` [PATCH net-next 03/16] igb: " Eric W. Biederman
2014-03-15 1:00 ` [PATCH net-next 04/16] ixgbe: " Eric W. Biederman
2014-03-15 1:01 ` [PATCH net-next 05/16] amd8111e: " Eric W. Biederman
2014-03-15 1:02 ` [PATCH net-next 06/16] enic: " Eric W. Biederman
2014-03-15 1:03 ` [PATCH net-next 07/16] fs_enet: " Eric W. Biederman
2014-03-15 1:03 ` [PATCH net-next 08/16] ibmveth: " Eric W. Biederman
2014-03-15 1:05 ` [PATCH net-next 09/16] sky2: " Eric W. Biederman
2014-03-15 1:34 ` Stephen Hemminger
2014-03-15 1:05 ` [PATCH net-next 10/16] mlx4: " Eric W. Biederman
2014-03-15 1:06 ` [PATCH net-next 11/16] s2io: " Eric W. Biederman
2014-03-15 1:08 ` [PATCH net-next 12/16] tilegx: " Eric W. Biederman
2014-03-15 1:09 ` [PATCH net-next 13/16] tilepro: " Eric W. Biederman
2014-03-15 1:10 ` [PATCH net-next-test 14/16] tc35815: " Eric W. Biederman
2014-03-15 1:10 ` [PATCH net-next 15/16] vxge: " Eric W. Biederman
2014-03-15 1:11 ` [PATCH net-next 16/16] sfc: " Eric W. Biederman
2014-03-15 15:23 ` Ben Hutchings
2014-03-15 16:29 ` David Miller
2014-03-15 17:23 ` Ben Hutchings
2014-03-15 18:54 ` Eric Dumazet
2014-03-15 19:25 ` Eric W. Biederman
2014-03-15 20:01 ` mlx4 netpoll and rx/tx weirdness Eric W. Biederman
2014-03-16 16:17 ` Eric Dumazet
2014-03-17 21:22 ` David Miller
2014-03-17 21:40 ` Eric Dumazet
2014-03-15 2:54 ` [PATCH net-next 0/16] Don't receive packets when the napi budget == 0 David Miller
2014-03-11 21:33 ` [PATCH net-next] bcm63xx_enet: Stop pretending to support netpoll Eric W. Biederman
2014-03-13 19:26 ` David Miller
2014-03-13 19:42 ` Florian Fainelli
2014-03-13 19:58 ` David Miller
2014-03-11 16:39 ` [PATCH 01/11] bonding: Call dev_kfree_skby_any instead of kfree_skb David Miller
2014-03-11 5:31 ` Eric W. Biederman
2014-03-11 3:18 ` [PATCH 02/11] bnx2: Call dev_kfree_skby_any instead of dev_kfree_skb Eric W. Biederman
2014-03-11 3:47 ` Eric Dumazet
2014-03-11 4:10 ` Eric W. Biederman
2014-03-11 4:43 ` David Miller
2014-03-11 3:19 ` [PATCH 03/11] bnx2x: " Eric W. Biederman
2014-03-11 3:19 ` [PATCH 04/11] tg3: " Eric W. Biederman
2014-03-11 3:20 ` [PATCH 05/11] bcm63xx_enet: " Eric W. Biederman
2014-03-11 3:21 ` [PATCH 06/11] e1000: " Eric W. Biederman
2014-03-11 3:22 ` [PATCH 07/11] igbvf: " Eric W. Biederman
2014-03-11 3:22 ` [PATCH 08/11] ixgb: " Eric W. Biederman
2014-03-11 3:23 ` [PATCH 09/11] mlx4: " Eric W. Biederman
2014-03-11 3:23 ` [PATCH 10/11] benet: Call dev_kfree_skby_any instead of kfree_skb Eric W. Biederman
2014-03-11 3:24 ` [PATCH 11/11] gianfar: Carefully free skbs in functions called by netpoll Eric W. Biederman
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=877g7sgh1j.fsf_-_@xmission.com \
--to=ebiederm@xmission$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=eric.dumazet@gmail$(echo .)com \
--cc=mpm@selenic$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=satyam.sharma@gmail$(echo .)com \
--cc=stephen@networkplumber$(echo .)org \
--cc=xiyou.wangcong@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox