At 07:45 AM 8/2/2007, Dan E wrote:
First off, I am running CentOS 5 with a custom-compiled 2.6.22
kernel (dynamic/tickless, 1000hz (though it doesn't really matter
with a tickless kernel), HPET, CFQ, and low-latency patch). You can
get the low latency patch here:
http://people.redhat.com/mingo/realtime-preempt/ I think this may
have been the trick that actually did it, but I did a lot yesterday
so I can't be sure. If you apply it, make sure that you have the
"Complete Preemption" mode selected under "Processor types and features".
I added some optimization flags while compiling the kernel, but I'm
not sure how much it will do (I'm not *that* big on development):
CXXFLAGS="-march=athlon-xp -O3 -ffast-math"
HPET is expensive to read from userland, TSC is faster. TSC is unsafe
on SMP machines because the TSC counter can change based on power
management, and the temperature of each core. HPET has about 1200uS
of latency to read from one of my opterons, whereas TSC is about 310uS
Compiling a kernel with high (> -O2) optimizations won't really
improve anything. Those are useless and won't affect anything except
improve micro-benchmarks.
I added the following entries to /etc/sysctl.conf (easiest to do :P):
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
Useless, gameservers use UDP. Setting rmem/wmem that high will not do
anything except consume more memory on each tcp connection. RFC1323
needs high rmem/wmem to function correctly.
I think the only thing people should try is the realtime patch, and
maybe try using TSC if they are sure it will work fine.
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux