svn commit: r330352 - in head/sys/compat/linuxkpi/common: include/linux src
Hans Petter Selasky
hps at selasky.org
Sat Mar 3 19:28:31 UTC 2018
On 03/03/18 20:14, Ian Lepore wrote:
> On Sat, 2018-03-03 at 18:54 +0000, Hans Petter Selasky wrote:
>> Author: hselasky
>> Date: Sat Mar 3 18:54:16 2018
>> New Revision: 330352
>> URL: https://svnweb.freebsd.org/changeset/base/330352
>>
>> Log:
>> Implement msleep_interruptible() in the LinuxKPI. While at it use pause_sbt()
>> instead of pause() in the msleep() function to avoid rounding errors when
>> converting delay values forth and back. Add a guard for a delay value
>> of zero milliseconds which is undefined.
>>
>> MFC after: 1 week
>> Requested by: Johannes Lundberg <johalun0 at gmail.com>
>> Sponsored by: Mellanox Technologies
>>
>> Modified:
>> head/sys/compat/linuxkpi/common/include/linux/delay.h
>> head/sys/compat/linuxkpi/common/src/linux_schedule.c
>>
>> Modified: head/sys/compat/linuxkpi/common/include/linux/delay.h
>> ==============================================================================
>> --- head/sys/compat/linuxkpi/common/include/linux/delay.h Sat Mar 3 18:52:19 2018 (r330351)
>> +++ head/sys/compat/linuxkpi/common/include/linux/delay.h Sat Mar 3 18:54:16 2018 (r330352)
>> @@ -36,14 +36,20 @@
>> #include
>>
>> static inline void
>> -linux_msleep(int ms)
>> +linux_msleep(unsigned int ms)
>> {
>> - pause("lnxsleep", msecs_to_jiffies(ms));
>> + /* guard against invalid values */
>> + if (ms == 0)
>> + ms = 1;
>> + pause_sbt("lnxsleep", SBT_1MS * ms, 0, C_HARDCLOCK);
>> }
>>
>
> To really avoid roundoff errors, use mstosbt(ms) instead of SBT_1MS*ms.
>
You're right. See r330353. Really, this only makes a noticable
difference for larger timeouts.
--HPS
More information about the svn-src-head
mailing list