Under certain conditions (e.g. nfs) the socket receive buffer is set to 
2048, but in the dma token ring drivers we have the receive skb's set to 
mtu size, i.e. anything up to 18200. The default for these drivers is 
4096. 

So, when any packets are received, even though the skb->len is less than 
sk->rcvbuf, these packets are getting dropping in sock_queue_rcv_skb 
causing massive timeout problems with nfs. 

I can implement one solution by copying the received packets into skb's 
with the correct length, but that eliminates the performance gains from 
simply swapping buffers around (and would definately mean no zero-copy). 

Is there a better way to do this, or can any changes be made in the socket 
handling functions ?

Mike

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

Reply via email to