Question on nfs mount & cat large files...
Chris Gray
chris.gray at kiffer.be
Fri Sep 9 17:31:00 UTC 2005
This is an old chestnut. I experienced a similar problem with an embedded
Linux (not uC) system last year, and the results of my analysis were as
follows:
<blockquote>
[...] What goes wrong is that rsize defaults to 16384, meaning that if you
read a
large file the [embedded system] will ask the server to send it in blocks of
16384
bytes. The server then happily sends 12 ethernet packets down the wire at
machine-gun speed, faster than the [embedded system]'s ethernet chip can
handle them.
So the [embedded system] drops one or more packets and does not acknowledge
the
transmission; after a timeout the server retransmits and the story repeats
itself.
I get this consistently with my server (Celeron 2.4 GHz running FreeBSD,
Intel 21143 network card, 100 Mb/s). If your server is a bit slower then the
problem will not occur.
Historically this has been a problem with PC clients talking to UltraSPARC
servers. [...]
</blockquote>
It would probably be a good idea for uClinux to use a default lower than
16384, possibly as low as 1024 with a note somewhere to the effect that
larger sizes may give better performance - if they don't result in lock-up.
Regards,
Chris
--
Chris Gray /k/ Embedded Java Solutions
Embedded & Mobile Java, OSGi http://www.kiffer.be/k/
chris.gray at kiffer.be +32 3 216 0369
More information about the uClibc
mailing list