freebsd-nq/sys/compat/linuxkpi/common
Ian Lepore d35f6548e6 Add inline functions to convert between sbintime_t and decimal time units.
Use them in some existing code that is vulnerable to roundoff errors.

The existing constant SBT_1NS is a honeypot, luring unsuspecting folks into
writing code such as long_timeout_ns*SBT_1NS to generate the argument for a
sleep call.  The actual value of 1ns in sbt units is ~4.3, leading to a
large roundoff error giving a shorter sleep than expected when multiplying
by the trucated value of 4 in SBT_1NS.  (The evil honeypot aspect becomes
clear after you waste a whole day figuring out why your sleeps return early.)
2017-07-29 17:00:23 +00:00
..
include linuxkpi compiler.h: avoid gcc -Wunused-value in dummy expressions 2017-07-22 21:29:44 +00:00
src Add inline functions to convert between sbintime_t and decimal time units. 2017-07-29 17:00:23 +00:00