Messages in this thread | | | From | "Andrew Theurer" <> | Subject | Re: [PATCH] zerocopy NFS updated | Date | Sat, 20 Apr 2002 10:49:38 -0500 |
| |
> Hi, > > > With all this talk on serialization on UDP, and have a question. first, let > > me explain the situation. I have an NFS test which calls 48 clients to read > > the same 200 MB file on the same server. I record the time for all the > > clients to finish and then calculate the total throughput. The server is a > > 4-way IA32. (I used this test to measure the zerocopy/tcp/nfs patch) Now, > > right before the test, the 200 MB file is created on the server, so there is > > no disk IO at all during the test. It's just an very simple cached read. > > Now, when the clients use udp, I can only get a run queue length of 1, and I > > have confirmed there is only one nfsd thread in svc_process() at one time, > > and I am 65% idle. With tcp, I can get all nfsd threads running, and max all > > CPUs. Am I experiencing a bottleneck/serialization due to a single UDP > > socket? > > What version do you use? > 2.5.8 kernel has a problem in readahead of NFSD. > It doesn't work at all.
I have this problem on every version I have used, including 2.4.18, 2.4.18 w/ Niel's patches, 2.5.6, and 2.5.7. One other thing I forgot to mention: If I set the number of resident nfsd threads to "2", I can get 2 nfsd threads running at once (nfsd_busy = 2), along with ~30% improvement in throughput. If I use any other qty of resident nfsd threads, I always get exactly 1 nfsd threads running (nfsd_busy = 1) during this test. With tcp there is no serialization at all. I can get nearly 48 nfsd threads busy with the 48 clients all reading at once.
-Andrew
- 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/
| |