discussion
[Top] [All Lists]

[Discussion] Unable to set X_{R|S}BufMode

To: <discussion@xxxxxxxxxx>
Subject: [Discussion] Unable to set X_{R|S}BufMode
From: Richard Carlson <rcarlson@xxxxxxxxxxxxx>
Date: Tue, 16 Nov 2004 15:59:01 -0600
Gang;

At last weeks SC conference I found that one of the NDT sever at the Abilene New York PoP had very asymmetric throughput. You could get 100 Mbps from a server to the client but only 7 Mbps in the opposite direction. I finally traced it down to a configuration issue in the NDT server. The server has the Web100_autotuning turned off (/proc/sys/net/ipv4/web100_{r|s}bufmode = 0).

I manually turned them on and achieved 400 Mbps with a client in the Seattle PoP. Instead of leaving them on, I decided that my code should check and enable the auto-tuning code on a per-connection basis. This would ensure that the NDT server is going to operate properly, and I can generate a log entry if the server changes it so the admin can fix it if desired.

So I looked at the tcp_KIS.txt file and found that the variables are called X_SBufMode and X_RBufMode in the 1.4 user lib. I also verified that they were listed as read-write vars, so I could make the change on a per-connection basis.

I added the code to the NDT server and started testing. I kept getting "web100_raw_read: fclose: permission denied" messages every time I tried to write a new value with the web100_raw_write() function. I finally started using the readvar/writervar routines and found the same problem.

This lead me back to the userland lib code and I found a typo on line 1028, the perror message says web100_raw_read instead of web100_raw_write.

This lead me to look at the kernel patch code and I found that the X_{R|S}BufMode varialbes are listed as RO using the ADD_RO_STATSVAR() routine. I also saw that the sndbuf and rcvbuf variables are listed as R/W using the ADD_RW_SKVAR() routine.

Am I correct in assuming these are bugs in the Web100 code? Should I simply upgrade to a later patch/library or can I fix these myself?

Regards;
Rich



_______________________________________________
Discussion mailing list
Discussion@xxxxxxxxxx
http://internal.web100.org/mailman/listinfo/discussion

<Prev in Thread] Current Thread [Next in Thread>