On Mon, 2006-07-08 at 19:04 +0200, Edgar E. Iglesias wrote:

> 
> I'll give you an example.

Thanks - that matches my understanding.

> A TCP flow sends X data and later waits for a response, host is now quietly
> waiting. Assume fdesc >= tx_ring->prunet, so we dont free any skbs, right?
> 

I am hoping they will be freed by a tx interrupt that will force poll to
happen. Or a new packet arrival etc. Just like before. Why do you see
the two as different? (the tx path pruning is still going on as i noted
before). If all you are looking for is a scheme to quickly free the skbs
so that TCP doesnt get charged, I am not sure if this is the right one.

> Now assume that some part of X data gets lost, our retransmit timer hits and
> we want to retransmit but our socket is charged with too much data sitting on
> the nics tx-ring, so we don't send anything. By orphaning, those skbs won't
> charge the socket and the flow can retransmit.

I understand that as well as the dilemma that TCP not being charged for
skbs (if you decide to orphan) it holds in its retransmit queue ;->
Which is not a problem unless that queueu grows to be a huge one ;->

cheers,
jamal

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to