how to use wait_event_interruptible_timeout with less than 1 jiffie timeout?
Nicholas Mc Guire
der.herr at hofr.at
Wed Jan 20 10:01:09 EST 2016
On Wed, Jan 20, 2016 at 06:57:27PM +0530, Anupam Kapoor wrote:
>
> >>>>> [2016-01-20T13:55:54+0530]: "Nicholas Mc Guire" (Nicholas):
> ,----[ Nicholas ]
> | that would still have the same limitation with resepct to time granuarlity
> | and as Documentation/timers/
> `----
> ah yes, that's true.
>
> ,----[ Nicholas ]
> | if you really need very short delays then you will need to resort to hrtimers
> | (and thus be to some extent config dependent) usleep_range(min, max) is the
> | prefered interface in that case.
> `----
> any specific reason why schedule_hrtimeout(...) cannot be used ?
>
It can, but same thing, unless you really need a very specific timeout
it is better to pass a range so that the kernel can consolidate the timeout
list - so the _range is a system level optimization.
so schedule_hrtimeout_range() would be prefered
<snip>
* The @delta argument gives the kernel the freedom to schedule the
* actual wakeup to a time that is both power and performance friendly.
* The kernel give the normal best effort behavior for "@expires+ at delta",
* but may decide to fire the timer earlier, but no earlier than @expires.
<snip>
and you need to convert the timeout to ktime e.g. with ms_to_ktime()
thx!
hofrat
More information about the Kernelnewbies
mailing list