skb->truesize > sk->rcvbuf == Dropped packets

From: mike_phillips@urscorp.com
Date: Thu May 03 2001 - 17:29:16 EST


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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:19 EST