sbt is the time in the future that the tsleep_sbt() is expected to be completed at. sbtt is the current time. Depending on the precision with sysctl kern.timecounter.alloweddeviation the start time may be incremented by tc_tick_sbt. The same increment is needed for the current time of sbtt before calculating the difference. The impact of missing this increment is that rmtp may increase by one tc_tick_sbt on every early [EINTR] return. If the same struct is passed in for rqtp as rmtp this can result in rqtp effectively incrementing by tc_tick_sbt and sleeping longer than originally intended. This problem was introduced in r247797. Reviewed by: kib, markj, vangyzen (all on an older version of the test) MFC after: 2 weeks Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D14362 |
||
---|---|---|
.. | ||
csu | ||
libbluetooth | ||
libbpfjit | ||
libc | ||
libcrypt | ||
libcurses | ||
libdes | ||
libevent | ||
libexecinfo | ||
libm | ||
libobjc | ||
libposix | ||
libppath | ||
libprop | ||
libpthread | ||
libpthread_dbg | ||
librefuse | ||
librt | ||
librumpclient | ||
librumphijack | ||
libskey | ||
libsljit | ||
libusbhid | ||
libutil | ||
semaphore |