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

From: Ben Greear <[email-masked]>
Date: Fri, 27 Aug 2010 10:00:50 -0700

On 08/27/2010 08:59 AM, Eric Dumazet wrote:
> Le vendredi 27 août 2010 à 08:26 -0700, Ben Greear a écrit :
>
>> 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 <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com