diff options
Diffstat (limited to 'sys-kernel/linux-image-redcore/files/5.1-0007-Convert-msleep-to-use-hrtimers-when-active.patch')
-rw-r--r-- | sys-kernel/linux-image-redcore/files/5.1-0007-Convert-msleep-to-use-hrtimers-when-active.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/sys-kernel/linux-image-redcore/files/5.1-0007-Convert-msleep-to-use-hrtimers-when-active.patch b/sys-kernel/linux-image-redcore/files/5.1-0007-Convert-msleep-to-use-hrtimers-when-active.patch deleted file mode 100644 index 9dead86e..00000000 --- a/sys-kernel/linux-image-redcore/files/5.1-0007-Convert-msleep-to-use-hrtimers-when-active.patch +++ /dev/null @@ -1,54 +0,0 @@ -From b713b0c571fa869fec376742be0e9c217ab38dab Mon Sep 17 00:00:00 2001 -From: Con Kolivas <kernel@kolivas.org> -Date: Fri, 4 Nov 2016 09:25:54 +1100 -Subject: [PATCH 07/16] Convert msleep to use hrtimers when active. - ---- - kernel/time/timer.c | 24 ++++++++++++++++++++++-- - 1 file changed, 22 insertions(+), 2 deletions(-) - -diff --git a/kernel/time/timer.c b/kernel/time/timer.c -index 98803a47491c..3ab277ba0f44 100644 ---- a/kernel/time/timer.c -+++ b/kernel/time/timer.c -@@ -1964,7 +1964,19 @@ void __init init_timers(void) - */ - void msleep(unsigned int msecs) - { -- unsigned long timeout = msecs_to_jiffies(msecs) + 1; -+ int jiffs = msecs_to_jiffies(msecs); -+ unsigned long timeout; -+ -+ /* -+ * Use high resolution timers where the resolution of tick based -+ * timers is inadequate. -+ */ -+ if (jiffs < 5 && hrtimer_resolution < NSEC_PER_SEC / HZ) { -+ while (msecs) -+ msecs = schedule_msec_hrtimeout_uninterruptible(msecs); -+ return; -+ } -+ timeout = msecs_to_jiffies(msecs) + 1; - - while (timeout) - timeout = schedule_timeout_uninterruptible(timeout); -@@ -1978,7 +1990,15 @@ EXPORT_SYMBOL(msleep); - */ - unsigned long msleep_interruptible(unsigned int msecs) - { -- unsigned long timeout = msecs_to_jiffies(msecs) + 1; -+ int jiffs = msecs_to_jiffies(msecs); -+ unsigned long timeout; -+ -+ if (jiffs < 5 && hrtimer_resolution < NSEC_PER_SEC / HZ) { -+ while (msecs && !signal_pending(current)) -+ msecs = schedule_msec_hrtimeout_interruptible(msecs); -+ return msecs; -+ } -+ timeout = msecs_to_jiffies(msecs) + 1; - - while (timeout && !signal_pending(current)) - timeout = schedule_timeout_interruptible(timeout); --- -2.17.1 - |