Re: select returning slow on RH 2.4.18-14 (RH 8.0) kernel.

From: Ben Greear (
Date: Thu Feb 13 2003 - 16:27:36 EST

Arjan van de Ven wrote:
> On Thu, 2003-02-13 at 10:08, Ben Greear wrote:
>>I've been doing some testing with RH 8.0 on an Ezra 800Mhz
>>Even when lightly loaded select() often returns 3-9 miliseconds slower
>>than the timeout would suggest. I know select is not guaranteed to
>>return with < 10ms accuracy, but with almost no load, shouldn't it
>>at least return with 1ms accuracy on average?
> no
> the kernels will return in multiple-of-10ms quantities due to
> HZ having the value of 100.
> 2.4.18-14 (which is btw obsoleted by several security errata) has a HZ
> value of 512 so will return in shorter quantities, EXCEPT when you
> always try to wait exactly 10ms of course....

For posterity's sake...I think I found a somewhat suitable work around.

I set up the real-time-clock at 1024hz, open /dev/rtc, and then add it's
file descriptor to my select input set when (0 < timeout < 10).

This causes a near busy-spin on slower cpus...but for me at least that
is the lesser of two evils...

If anyone has any cleaner/better/faster/ hacks they feel like sharing,
do let me know!

PS. Don't use SCHED_RR with this hack..or you can live-lock your system
if it's like mine :)


Ben Greear <>       <Ben_Greear AT>
President of Candela Technologies Inc

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:49 EST