]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
timers: Remove historical extra jiffie for timeout in msleep()
authorAnna-Maria Behnsen <anna-maria@linutronix.de>
Thu, 29 Aug 2024 07:41:33 +0000 (09:41 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 29 Aug 2024 14:17:18 +0000 (16:17 +0200)
msleep() and msleep_interruptible() add a jiffie to the requested timeout.

This extra jiffie was introduced to ensure that the timeout will not happen
earlier than specified.

Since the rework of the timer wheel, the enqueue path already takes care of
this. So the extra jiffie added by msleep*() is pointless now.

Remove this extra jiffie in msleep() and msleep_interruptible().

Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/all/20240829074133.4547-1-anna-maria@linutronix.de
kernel/time/timer.c

index 429232d8659a361f629f441fff7a629bfa6e309e..d8eb368a5a5b2c03a4f7c80ad388128b6f32f94d 100644 (file)
@@ -2732,7 +2732,7 @@ void __init init_timers(void)
  */
 void msleep(unsigned int msecs)
 {
-       unsigned long timeout = msecs_to_jiffies(msecs) + 1;
+       unsigned long timeout = msecs_to_jiffies(msecs);
 
        while (timeout)
                timeout = schedule_timeout_uninterruptible(timeout);
@@ -2746,7 +2746,7 @@ EXPORT_SYMBOL(msleep);
  */
 unsigned long msleep_interruptible(unsigned int msecs)
 {
-       unsigned long timeout = msecs_to_jiffies(msecs) + 1;
+       unsigned long timeout = msecs_to_jiffies(msecs);
 
        while (timeout && !signal_pending(current))
                timeout = schedule_timeout_interruptible(timeout);