On Nov 5, 2006, at 5:55 AM, William Warren wrote:

that's no so much an issue with LINUX IME

As I've always understood it, the HZ parameter is an interval used to
determine when the kernel checks to see if it needs to respond to any
IRQ's. For instance, setting a low HZ on a server that does a lot of
hardware access is a really, really good idea, like for a squid
server, or database server.

That was the reason the original poster mentioned lock contention.
Anything that keeps your processes waiting in the run queue is going
to cause problems. (Load Average is the average number of processes
in the run queue) The longer it takes for your kernel to respond to
interrupts, there will be more that will be there each time, making
more tasks wait at once and generally increasing latency as the queue
is emptied less often.

Linux in particular is very fickle about load averages. While you can
normally get a shell on another unix, after hitting about 80 load avg
you'll be lucky if you can ping a Linux box and get a response back.

I guess what I'm trying to say, is that the "HZ" parameter is an
issue regardless of what free unix you're using, and what it comes
down to is how your drivers use interrupts.

FreeBSD at least has an option to make many of it's network drivers
poll-centric instead of interrupt driven, allowing you to push the HZ
through the roof for tasks that are rarely disk oriented (a web
application that does no local disk access would be a good example,
or a router, or a CS server). This is a compelling reason (among
others) to have srcds with syslog support.

I'm not sure how linux handles it, but it's worth looking into to see
if linux polls its network devices to see if they have data waiting
in the buffer. It would be a dramatic performance improvement.

--
Erik Hollensbe
[EMAIL PROTECTED]

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to