All of lore.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org, xiyou.wangcong@gmail.com,
	mpm@selenic.com, satyam.sharma@gmail.com
Subject: Re: [PATCH] netpoll: Don't call driver methods from interrupt context.
Date: Tue, 04 Mar 2014 16:03:43 -0800	[thread overview]
Message-ID: <87d2i17bq8.fsf@xmission.com> (raw)
In-Reply-To: <20140304.160825.893718566461536483.davem@davemloft.net> (David Miller's message of "Tue, 04 Mar 2014 16:08:25 -0500 (EST)")

David Miller <davem@davemloft.net> writes:

> From: ebiederm@xmission.com (Eric W. Biederman)
> Date: Mon, 03 Mar 2014 12:40:05 -0800
>
>> <IRQ>  [<ffffffff8104934c>] warn_slowpath_common+0x85/0x9d
>> [<ffffffff8104937e>] warn_slowpath_null+0x1a/0x1c
>> [<ffffffff81429aa7>] skb_release_head_state+0x7b/0xe1
>> [<ffffffff814297e1>] __kfree_skb+0x16/0x81
>> [<ffffffff814298a0>] consume_skb+0x54/0x69
>> [<ffffffffa015925b>] bnx2_tx_int.clone.6+0x1b0/0x33e [bnx2]
>
> Other drivers, such as bnx2x, uses dev_kfree_skb_any(), probably
> exactly to deal with this situation.
>
> If in_irq() is true or interrupts are disabled, __dev_kfree_skb_any
> will use __dev_kfree_skb_irq, which will queue up the SKB and schedule
> a software interrupt to do the actual work.
>
> For example, see this commit, which we probably just need to duplicate
> into other poll supporting drivers:

When the patch to make that change was submitted to you to do that you
rejected it:

> From:	David Miller <davem@davemloft.net>
> Subject: Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()
> To:	tdmackey@booleanhaiku.com
> Cc:	mchan@broadcom.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org
> Date: Tue, 29 Oct 2013 22:42:27 -0400 (EDT) (17 weeks, 6 days, 20 hours ago)
> 
> From: David Mackey <tdmackey@booleanhaiku.com>
> Date: Tue, 29 Oct 2013 15:16:38 -0700
> 
> > Using dev_kfree_skb_any() will resolve the below issue when a
> > netconsole message is transmitted in an irq.
>  ...
> > Signed-off-by: David Mackey <tdmackey@booleanhaiku.com>
> 
> This is absolutely not the correct fix.
> 
> The netpoll facility must invoke ->poll() in an environment which
> is compatible, locking and interrupt/soft-interrupt wise, as that
> in which it is normally called.
> 
> Therefore, bnx2_tx_int(), which is invoked from the driver's ->poll()
> method, should not need to use dev_kfree_skb_any().  The real problem
> is somewhere else.

In that discussion you were also strongly objecting to making the poll
methods safe in hard irq context.  Although there may be something
subtle I am missing.

So when I looked at this problem this weekend I realized it was not at
all hard to just queue packets in hard irq context, so we would not call
driver methods in a context they were not prepared for.

If dev_kfree_skb to dev_kfree_skb_any were the only issue (which is
seems to be in many cases I wouldn't much care).

However it appears we can run huge portions of the networking stack from
napi context and there are other issues beyond dev_kfree_skb.

The worst issues I have seen are with the mlx4 driver.  In part mlx4
looks crazy calling napi_synchronize which calls msleep with interrupts
disabled.  But I have some warnings that I can should be triggerable
with other drivers using netpoll as well.

So I would like some clear guidance.  Will you accept patches to make
it safe to call the napi poll routines from hard irq context, or should
we simply defer messages prented with netconsole in hard irq context
into another context where we can run the napi code?

If there is not a clear way to fix the problems that crop up we should
just delete all of the netpoll code altogether, as it seems deadly in
it's current form.



This first mlx4 trace looks a little questionable but I can find
an equivalent trace through the tg3 driver so this looks like
another legitmate netpoll issue.
tg3_rx
  napi_gro_receive
    napi_skb_finish
      netif_receive_skb_internal
         __netif_receive_skb
            ip_rcv
              NF_HOOK()
                 nf_iterate
                    ip_tables_mange_hook
                       ipt_do_table
            
------------[ cut here ]------------
WARNING: at kernel/softirq.c:159 _local_bh_enable_ip+0x41/0x8b()
Hardware name: PowerEdge C6220
Modules linked in: xt_DSCP iptable_mangle netconsole configfs ipv6 ppdev parport_pc lp parport tcp_diag inet_diag ipmi_si ipmi_devintf ipmi_msghandler hed dcdbas coretemp crc32c_intel ghash_clmulni_intel microcode i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma dca mlx4_en mlx4_core wmi [last unloaded: scsi_wait_scan]
Pid: 0, comm: swapper/9 Not tainted 3.4 #1
Call Trace:
 <NMI>  [<ffffffff8103c20c>] warn_slowpath_common+0x85/0x9d
 [<ffffffff8103c23e>] warn_slowpath_null+0x1a/0x1c
 [<ffffffff810429ef>] _local_bh_enable_ip+0x41/0x8b
 [<ffffffff81042a5b>] local_bh_enable+0x12/0x14
 [<ffffffff8147df9a>] ipt_do_table+0x652/0x68b
 [<ffffffffa005e177>] iptable_mangle_hook+0xff/0x11c [iptable_mangle]
 [<ffffffff81435d44>] nf_iterate+0x48/0x7d
 [<ffffffff8143e7a4>] ? inet_del_protocol+0x3a/0x3a
 [<ffffffff81435eaf>] nf_hook_slow+0x6c/0xff
 [<ffffffff8143e7a4>] ? inet_del_protocol+0x3a/0x3a
 [<ffffffff8143e7a4>] ? inet_del_protocol+0x3a/0x3a
 [<ffffffff8143edd4>] NF_HOOK.clone.1+0x41/0x53
 [<ffffffff8143f074>] ip_rcv+0x23c/0x268
 [<ffffffff8140fe4f>] __netif_receive_skb+0x3a5/0x3fe
 [<ffffffff81411874>] netif_receive_skb+0x4b/0x7b
 [<ffffffff81411e24>] ? __napi_gro_receive+0xf8/0x107
 [<ffffffff814118f4>] napi_frags_finish+0x50/0xc4
 [<ffffffff81411e6c>] napi_gro_frags+0x39/0x3e
 [<ffffffffa003b6bf>] mlx4_en_process_rx_cq+0x30c/0x567 [mlx4_en]
 [<ffffffffa003d4a6>] mlx4_en_netpoll+0x8d/0xb1 [mlx4_en]
 [<ffffffff8142541b>] netpoll_poll_dev+0x4a/0x1b7
 [<ffffffff814255bf>] ? find_skb+0x37/0x82
 [<ffffffff8111cf3a>] ? virt_to_head_page+0x9/0x2c
 [<ffffffff81424fd5>] netpoll_send_skb_on_dev+0x117/0x200
 [<ffffffff8142583a>] netpoll_send_udp+0x230/0x242
 [<ffffffffa0067296>] write_msg+0xa7/0xfb [netconsole]
 [<ffffffff8103c46d>] __call_console_drivers+0x7d/0x8f
 [<ffffffff8103c534>] _call_console_drivers+0xb5/0xd0
 [<ffffffff8103d02f>] console_unlock+0x16c/0x219
 [<ffffffff8103d6b9>] vprintk+0x3bc/0x405
 [<ffffffff814ba4b7>] printk+0x68/0x71
 [<ffffffff810891dc>] print_modules+0x6a/0xf3
 [<ffffffff81004164>] show_registers+0x48/0x214
 [<ffffffff814ba4b7>] ? printk+0x68/0x71
 [<ffffffff81009a18>] show_regs+0x16/0x2d
 [<ffffffff814bdcf1>] arch_trigger_all_cpu_backtrace_handler+0x60/0x79
 [<ffffffff814bd663>] default_do_nmi+0x66/0x1d4
 [<ffffffff814bd841>] do_nmi+0x70/0xbb
 [<ffffffff814bcd0c>] end_repeat_nmi+0x1a/0x1e
 [<ffffffff812a24bd>] ? intel_idle+0xae/0x112
 [<ffffffff812a24bd>] ? intel_idle+0xae/0x112
 [<ffffffff812a24bd>] ? intel_idle+0xae/0x112
 <<EOE>>  [<ffffffff813e23d8>] ? menu_select+0x1ac/0x303
 [<ffffffff813e0d6c>] cpuidle_enter+0x12/0x14
 [<ffffffff813e1432>] cpuidle_idle_call+0xd1/0x19b
 [<ffffffff81009545>] cpu_idle+0xb6/0xff
 [<ffffffff814b3975>] start_secondary+0xc8/0xca
---[ end trace b7bd3fb31d1fc0d7 ]---
------------[ cut here ]------------

I see a lot of this one, but this one is clearly bogus. Calling
napi_synchronize with irqs disabled!

BUG: scheduling while atomic: swapper/9/0/0x04010000
Modules linked in: xt_DSCP iptable_mangle netconsole configfs ipv6 ppdev parport_pc lp parport tcp_diag inet_diag ipmi_si ipmi_devintf ipmi_msghandler hed dcdbas coretemp crc32c_intel ghash_clmulni_intel microcode i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma dca mlx4_en mlx4_core wmi [last unloaded: scsi_wait_scan]
Pid: 0, comm: swapper/9 Tainted: G        W    3.4 #1
Call Trace:
 <NMI>  [<ffffffff8106493e>] __schedule_bug+0x4d/0x4f
 [<ffffffff814bb21a>] __schedule+0xa3/0x4ec
 [<ffffffff814bb925>] schedule+0x64/0x66
 [<ffffffff814ba584>] schedule_timeout+0xab/0xe3
 [<ffffffff81048fd1>] ? del_timer+0x82/0x82
 [<ffffffff814ba5da>] schedule_timeout_uninterruptible+0x1e/0x20
 [<ffffffff810494c0>] msleep+0x1b/0x22
                      napi_synchronize()
 [<ffffffffa003d47e>] mlx4_en_netpoll+0x65/0xb1 [mlx4_en]
 [<ffffffff8142541b>] netpoll_poll_dev+0x4a/0x1b7
 [<ffffffff814255bf>] ? find_skb+0x37/0x82
 [<ffffffff8111cf3a>] ? virt_to_head_page+0x9/0x2c
 [<ffffffff81424fd5>] netpoll_send_skb_on_dev+0x117/0x200
 [<ffffffff8142583a>] netpoll_send_udp+0x230/0x242
 [<ffffffffa0067296>] write_msg+0xa7/0xfb [netconsole]
 [<ffffffff8103c46d>] __call_console_drivers+0x7d/0x8f
 [<ffffffff8103c534>] _call_console_drivers+0xb5/0xd0
 [<ffffffff8103d02f>] console_unlock+0x16c/0x219
 [<ffffffff8103d6b9>] vprintk+0x3bc/0x405
 [<ffffffff814ba4b7>] printk+0x68/0x71
 [<ffffffff810891dc>] print_modules+0x6a/0xf3
 [<ffffffff81004164>] show_registers+0x48/0x214
 [<ffffffff814ba4b7>] ? printk+0x68/0x71
 [<ffffffff81009a18>] show_regs+0x16/0x2d
 [<ffffffff814bdcf1>] arch_trigger_all_cpu_backtrace_handler+0x60/0x79
 [<ffffffff814bd663>] default_do_nmi+0x66/0x1d4
 [<ffffffff814bd841>] do_nmi+0x70/0xbb
 [<ffffffff814bcd0c>] end_repeat_nmi+0x1a/0x1e
 [<ffffffff812a24bd>] ? intel_idle+0xae/0x112
 [<ffffffff812a24bd>] ? intel_idle+0xae/0x112
 [<ffffffff812a24bd>] ? intel_idle+0xae/0x112
 <<EOE>>  [<ffffffff813e23d8>] ? menu_select+0x1ac/0x303
 [<ffffffff813e0d6c>] cpuidle_enter+0x12/0x14
 [<ffffffff813e1432>] cpuidle_idle_call+0xd1/0x19b
 [<ffffffff81009545>] cpu_idle+0xb6/0xff
 [<ffffffff814b3975>] start_secondary+0xc8/0xca
------------[ cut here ]------------

  reply	other threads:[~2014-03-05  0:03 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 [this message]
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                                     ` [PATCH 2/6] netpoll: Only call ndo_start_xmit from a single place Eric W. Biederman
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=87d2i17bq8.fsf@xmission.com \
    --to=ebiederm@xmission.com \
    --cc=davem@davemloft.net \
    --cc=mpm@selenic.com \
    --cc=netdev@vger.kernel.org \
    --cc=satyam.sharma@gmail.com \
    --cc=xiyou.wangcong@gmail.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.