Re: Ques: [kernel/time/*] Is there any disadvantage in using usleep_range for more than 20ms delay ?

From: Aniroop Mathur
Date: Tue Dec 08 2015 - 14:21:13 EST


On Tue, Dec 8, 2015 at 2:33 PM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote:
> Aniroop Mathur wrote:
>> As in the kernel documentation, it is mentioned to use msleep for
>> 10ms+ delay, I am confused whether there would be any disadvantage in
>> using usleep_range for higher delays values because normally drivers
>> have variety of delays used (2, 10, 20, 40, 100, 500 ms).
>>
>> So, could you please help to confirm that if we use usleep_range for
>> inserting delays greater than 20 ms, would it be harmful or beneficial
>> or does not make any difference at all ?
>
> As the documentation told you, usleep_range() is likely to require
> a separate interrupt, while msleep() is likely to round to some other,
> already-scheduled interrupt. The former is possibly harmful regarding
> CPU and power usage; you have to balance it against your need for
> accuracy.
>

Thank you for the answer!
usleep_range will generate an interrupt to achieve accuracy.
However, would that be considered as harmful or a disadvantage ?
Would the power usage and cpu really substantial ?

PS: I have added my more concern and explanation in another email
thread whose subject misses u in usleep_range, by mistake. Added
you in it as well.

> (And usleep_range() has a 32-bit nanosecond limit on 32-bit
> architectures.)
>
>
> Regards,
> Clemens
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/