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