Re: [PATCH 4/5] select: make select() use schedule_hrtimeout()

Alan Cox
2008-08-29T18:36:18Z

> I do agree that we could do that too, but you miss one big issue: even if
> we were to add an accuracy field inside the kernel, there is no such field
> in the user interfaces.

Most of the timers we want to aggregate with are kernel originated and
those also need accuracy fields (tcp retransmit is fairly precision at
high speed while tcp keepalive is 'yeah whatever' sort of urgency.

At the point we are merging timers we want to consider user kernel and in
a virtualised environment across all guest.

> We just pass timevals (and sometimes timespecs) around, and no, they don't
> have any way to specify accuracy.

Agreed for userspace.

> Yeah, we could use the high bits in the usec/nsec words, but then older
> kernels would basically do random things, so that would be a horrible
> interface.

Gak.... no...

> And the only reasonable way to do that is to just look at the range. You
> can probably do something fairly trivial with

Agreed except that I'd assume real time tasks implied high accuracy,
otherwise one assumes they'd have not have been real time - and probably
putting those constants into sysfs somewhere.

Alan