Thread (24 messages) 24 messages, 6 authors, 2010-08-27

Re: [net-next 1/2] qdisc: Allow qdiscs to provide backpressure up the stack.

From: Ben Greear <hidden>
Date: 2010-08-27 17:00:54

On 08/27/2010 08:59 AM, Eric Dumazet wrote:
Le vendredi 27 août 2010 à 08:26 -0700, Ben Greear a écrit :
quoted
For the trivial case, I can just kfree_skb when BUSY is returned, for the
same overall behaviour as today.  For something like UDP, I might be able
to poke the SKB back into the queue instead of freeing it.
Its not trivial at all. Actually I bet this is not possible.
Ughh, I'll quit bothering with higher level protocols then.

Dave:  Is there any reason to pursue the qdisc BUSY return code
so that it can be used for macvlans, vlans, bonding, etc, or
is that idea just DOA.

There are calls to dev_queue_xmit all over, and many don't
check return codes at all.  I could still fix those up to
free the skb when BUSY is returned.

Or, I could stay with adding a new try_dev_queue_xmit method
so that the few callers that care can deal with error codes
properly.

Based on my slightly improved understanding of how UDP and others
do queue backoff, I don't see how the changes to macvlan that
I posted could cause any additional opportunities for queue
deadlock.

If someone manages to add a qdisc to a macvlan, there could
be issues since there is no way to wake up a macvlan queue,
but that issue exists with or without my patch.

Thanks,
Ben

-- 
Ben Greear [off-list ref]
Candela Technologies Inc  http://www.candelatech.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help