Subject: Re: NFS root
To: None <hubert.feyrer@informatik.fh-regensburg.de>
From: Marcus Comstedt <marcus@idonex.se>
List: port-dreamcast
Date: 02/26/2001 20:32:16
>>>>> "Hubert" == Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de> writes:

  Hubert> OIC... Are the mount_nfs  -r/w switches of any help?

They should be, but it's a bit hard to use them if you can't get your
mount_nfs binary off the server.  :-)


  Hubert> (I'm not familiar with what the initially suggested value actually does,
  Hubert> obviously ;-)

The NFS_RSIZE value determines how large read requests the kernel
should send to the NFS server.  The NFS server will respond with a
burst of UDP packets to satisfy the request.  As the receive buffer on
the Broadband Adapter is only 16K, 32K+headers of UDP data will
overflow it, causing the read to fail.  The NFS code will have no
choice but to retransmit the request (and the NetBSD NFS code is
stupid enough not to use a smaller read size the second time), which
will again result in a burst too large to fit in the buffer.  Repeat
ad nauseum...

In 10Mbps it works because the kernel is able to remove packets from
the the buffer quickly enough for it not to bite its own tail.  (Even
in the 16K RSIZE case, the kernel must remove at least one packet
because the total amount of data will be >16K due to Ethernet,IP and
UDP headers.)


  // Marcus