[gambit-list] Problem in thread-sleep! may be a poor implementation of the select system call
Marc Feeley
feeley at iro.umontreal.ca
Wed Jan 28 12:05:51 EST 2009
On 28-Jan-09, at 2:13 AM, vasil wrote:
> I consider linux RT kernel is somewhat unusual.
>
> Here is result of select-test.c on my Linux machine:
>
> $ time ./a.out
>
> real 0m10.015s
> user 0m0.000s
> sys 0m0.002s
>
> $ uname -a
> Linux cassiopea 2.6.22-16-rt #1 SMP PREEMPT RT Mon Nov 24 19:03:10 GMT
> 2008 x86_64 GNU/Linux
>
> Linux distro is Ubuntu 7.10 with RT linux kernel on laptop with Core 2
> Duo in AMD64 mode.
>
> When I run scheme code, I've got a value of n 1001 or 1002.
>
> Vasil
Please try it again, this time after a "make update".
I have changed the implementation of the "select" logic so that if
"select" is being called purely to sleep (i.e. there is no I/O to wait
for), then the "nanosleep" function will be called. I would appear
that nanosleep has a much better resolution. I also fixed a bug which
gave a segfault when thread-sleep! was interrupted.
Marc
More information about the Gambit-list
mailing list