Please always CC Ingo Molnar on all -rt related issues. And ThomasWill do so in future, did not know anyone else well enough.
Gleixner and John Stultz on timer issues with -rt. (CC John on timer
issues in mainline too).
Is there any requirement that select must sleep the full time? At least
have you checked the value of the timeout to see if there was reported
time left? The return value wont be zero. I believe that the select my
return early with reported time left.
The simple answer is that the select system call uses the non highwell, there are a large number of applications that we have that use select(). These include CORBA ORBs etc and we would like to run them and get the benefits of excellent RT properties of -rt kernel. It would be too too difficult for us, at least for now, to rewrite an ORB in such a way that it does not use any select() but instead uses nanosleep(). I assume high resolution timers must be more expensive - that is why they do not get used by select(). But there are cases where I don't mind paying the extra overhead, if any, to obtain good behaviour out of select().
resolution timers. There's really no reason to use select for timing.
That's really just a side effect of the system call. If you need
accurate timing, that's what nanosleep is for. IIRC, others on LKML
have stated that it is considered bad programming to use select as a
timer when nanosleep is available.
So, what you show is what I would expect.Sigh, but thanks for the comments.
-- Steve