Messages in this thread |  | | Date | Fri, 10 Nov 2000 07:35:29 +0000 | From | Philipp Rumpf <> | Subject | Re: jiffies wrap question... |
| |
On Fri, Nov 10, 2000 at 02:21:28AM -0500, Jeff Garzik wrote: > The following is a piece of code from the latter half of > schedule_timeout, in kernel/sched.c. Is it possible that > schedule_timeout could return an incorrect value, if the jiffy value > wraps between the first and last lines shown below.
let's say the first line happens n ticks before the wrap and the second, m ticks afterwards.
> expire = timeout + jiffies;
expire = timeout + 2^32/2^64 - n = timeout - n
> timeout = expire - jiffies;
timeout = expire - m = timeout - n - m = timeout - (n+m)
(n+m) is the time that actually passed while we were asleep, and timeout has the correct value (timeout - ticks that happened)> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |