[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20150501.114223.1837223121502998313.davem@davemloft.net>
Date: Fri, 01 May 2015 11:42:23 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: alexander.h.duyck@...hat.com
Cc: netdev@...r.kernel.org, nic_swsd@...ltek.com,
Dept-HSGLinuxNICDev@...gic.com, sony.chacko@...gic.com,
intel-wired-lan@...ts.osuosl.org, jeffrey.t.kirsher@...el.com
Subject: Re: [PATCH 0/3] Stop using dev_kfree_skb_any in NAPI Tx clean-up
From: Alexander Duyck <alexander.h.duyck@...hat.com>
Date: Thu, 30 Apr 2015 13:58:12 -0700
> This change replaces the call to dev_kfree_skb_any in several NAPI based Tx
> clean-up paths with dev_kfree_skb. Where I made the replacement the
> function appeared to always be in softirq context so we can avoid the
> unnecessary time spent determining if we are in a hardirq context or not.
It isn't always in softirq context.
We can do a netconsole transmit from any context, and that code
can and will invoke ->poll().
As Francois noted, netpoll_send_skb_on_dev() loops trying to transmit,
and if the TX does nto give NETDEV_TX_OK it will try to execute TX
reclaim by invoking ->poll().
It's hard to trigger this, but if you do... the dev_kfree_skb_any()
really is necessary.
--
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