Fragment flooding in 2.4.x/2.5.x

From: Trond Myklebust (trond.myklebust@fys.uio.no)
Date: Thu Jun 27 2002 - 10:57:39 EST


Hi David,

  I have a question about the case of non-blocking sends in
ip_build_xmit_slow(). While investigating a problem with the RH7.3 kernel
causing the Netapp filer IP stack to blow up, we've observed that use of the
MSG_DONTWAIT flag causes some pretty nasty behaviour.

The fact that fragments are immediately queued for sending means that if
sock_alloc_send_skb() fails at some point in the middle of the process of
building the message, then you've ended up sending off a bunch of fragments
for which there is not even a header (can be a large source of wasted
bandwidth given heavy NFS traffic).

The appended patch which was originally designed purely to test inverting the
sending order of fragments (on the hypothesis that the receiving devices were
making buffer management assumptions based on ordering), removes this effect
because it delays sending off the fragments until the entire message has been
built.
Would such a patch be acceptable, or is there a better way of doing this?

Cheers,
  Trond


-
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 : Sun Jun 30 2002 - 22:00:12 EST