Re: Strange NFS client behavior on 2.6.6 and higher {Scanned}

From: Trond Myklebust
Date: Fri Aug 20 2004 - 15:48:07 EST


På fr , 20/08/2004 klokka 16:04, skreiv Rett D. Walters:

> Using a 2.4 client, the file slowly counts up as data is
> written when pushing to a 2.4 server. Using 2.6.6 against
> a 2.6 server the file is written in large multi-megabyte
> clumps instead.

Probably. The VM decides when to push out data in 2.6.x. In 2.4.x we had
artificial hard limits on the number of dirty pages that were allowed to
exist, now all that is controlled by the VM.

> However using a 2.6.6 client against a
> 2.4 server acts just like it used to, with a "trickle"
> write.

Huh?

> A tcpdump trace of the 2.6.6 client against a 2.6
> server show no traffic being transmitted and then suddenly
> a burst of 20,000 packets sent then nothing, until the
> next burst.

See above. Note that this is pretty much the way block devices work
too...

> It appears to me that the 2.6.6 client against a 2.6
> server scenario that the 2.6.6 client is caching the data
> then writing it in these large clumps. As a data comm
> engineer by profession, this seems a little strange.
> Sending 20000 packets in large, very fast bursts will
> increase the likelyhood of causing congestion at the
> receiver which could lead to packet loss.

That's why we have added TCP support as well as congestion control
algorithms for UDP. I've seen no signs of new congestion issues with
2.6.x in tests on a clean network. Rather I've seen vastly improved
write performance against faster servers precisely because the new
VM-driven stuff allows us to cache more data both on the client and the
server side.

> I am using NFS v3 over UDP, and have tried using async and sync, and
> setting the rsize/wsize to 8k etc to no avail.

It sounds to me as if you really want to be using O_SYNC or (better
still) O_DIRECT writes. You basically want to stream the data to the
server immediately without any caching right?

The "sync" mount option should also give you similar behaviour.

Cheers,
Trond
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/