Thread (44 messages) 44 messages, 6 authors, 2008-08-19

Re: qdisc_enqueue, NET_XMIT_SUCCESS and kfree_skb

From: Jarek Poplawski <hidden>
Date: 2008-08-07 12:42:15

On Wed, Aug 06, 2008 at 10:09:11PM -0700, David Miller wrote:
From: David Miller <davem@davemloft.net>
Date: Wed, 06 Aug 2008 20:26:36 -0700 (PDT)
quoted
I still haven't seen anyone suggest creating a __NET_XMIT_KFREE_SKB to
fix this most rediculious problem.

I'm still waiting...
Here is what it might look like.  I haven't tried to boot this,
but the only non-trivial case was SFQ's congestion drop code.
After some checking it looks mostly OK to me, but one thing: in
sch_gred gred_drop() calls qdisc_drop(), so now it needs kfree_skb().
BTW, maybe it would be nicer to add __qdisc_drop() for these new
things?

There is also some doubt about differences between ->enqueue() and
->requeue() wrt. kfree_skb() and returning codes: maybe it would be
better (for uniformity) to add similar changes to requeues (and
dev_requeue_skb()) as well?

I don't know if it's worth to mention, but now, if somebody really
uses this sch_blackhole under some upper qdiscs the stats will change.

Jarek P.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help