mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-20 09:39:08 +00:00
kernel: Update rt kernel to 4.14.24
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
parent
28f1ae2e77
commit
627e982b79
@ -221,14 +221,14 @@ ifeq ($(ARCH),x86_64)
|
|||||||
$(eval $(call kernel,4.15.10,4.15.x,$(EXTRA),$(DEBUG)))
|
$(eval $(call kernel,4.15.10,4.15.x,$(EXTRA),$(DEBUG)))
|
||||||
$(eval $(call kernel,4.14.27,4.14.x,$(EXTRA),$(DEBUG)))
|
$(eval $(call kernel,4.14.27,4.14.x,$(EXTRA),$(DEBUG)))
|
||||||
$(eval $(call kernel,4.14.27,4.14.x,,-dbg))
|
$(eval $(call kernel,4.14.27,4.14.x,,-dbg))
|
||||||
$(eval $(call kernel,4.14.18,4.14.x,-rt,))
|
$(eval $(call kernel,4.14.24,4.14.x,-rt,))
|
||||||
$(eval $(call kernel,4.9.87,4.9.x,$(EXTRA),$(DEBUG)))
|
$(eval $(call kernel,4.9.87,4.9.x,$(EXTRA),$(DEBUG)))
|
||||||
$(eval $(call kernel,4.4.121,4.4.x,$(EXTRA),$(DEBUG)))
|
$(eval $(call kernel,4.4.121,4.4.x,$(EXTRA),$(DEBUG)))
|
||||||
|
|
||||||
else ifeq ($(ARCH),aarch64)
|
else ifeq ($(ARCH),aarch64)
|
||||||
$(eval $(call kernel,4.15.10,4.15.x,$(EXTRA),$(DEBUG)))
|
$(eval $(call kernel,4.15.10,4.15.x,$(EXTRA),$(DEBUG)))
|
||||||
$(eval $(call kernel,4.14.27,4.14.x,$(EXTRA),$(DEBUG)))
|
$(eval $(call kernel,4.14.27,4.14.x,$(EXTRA),$(DEBUG)))
|
||||||
$(eval $(call kernel,4.14.18,4.14.x,-rt,))
|
$(eval $(call kernel,4.14.24,4.14.x,-rt,))
|
||||||
$(eval $(call kernel,4.9.87,4.9.x,$(EXTRA),$(DEBUG)))
|
$(eval $(call kernel,4.9.87,4.9.x,$(EXTRA),$(DEBUG)))
|
||||||
|
|
||||||
else ifeq ($(ARCH),s390x)
|
else ifeq ($(ARCH),s390x)
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
|
||||||
Date: Wed, 20 Dec 2017 17:12:55 +0100
|
|
||||||
Subject: [PATCH 06/29] hrtimer: Ensure POSIX compliance (relative
|
|
||||||
CLOCK_REALTIME hrtimers)
|
|
||||||
|
|
||||||
POSIX specification defines, that relative CLOCK_REALTIME timers are not
|
|
||||||
affected by clock modifications. Those timers have to use CLOCK_MONOTONIC
|
|
||||||
to ensure POSIX compliance.
|
|
||||||
|
|
||||||
The introduction of the additional mode HRTIMER_MODE_PINNED broke this
|
|
||||||
requirement for pinned timers. There is no user space visible impact
|
|
||||||
because user space timers are not using the pinned mode, but for
|
|
||||||
consistency reasons this needs to be fixed.
|
|
||||||
|
|
||||||
Check whether the mode has the HRTIMER_MODE_REL bit set instead of
|
|
||||||
comparing with HRTIMER_MODE_ABS.
|
|
||||||
|
|
||||||
Fixes: 597d0275736d ("timers: Framework for identifying pinned timers")
|
|
||||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
|
||||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
||||||
---
|
|
||||||
kernel/time/hrtimer.c | 7 ++++++-
|
|
||||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/kernel/time/hrtimer.c
|
|
||||||
+++ b/kernel/time/hrtimer.c
|
|
||||||
@@ -1099,7 +1099,12 @@ static void __hrtimer_init(struct hrtime
|
|
||||||
|
|
||||||
cpu_base = raw_cpu_ptr(&hrtimer_bases);
|
|
||||||
|
|
||||||
- if (clock_id == CLOCK_REALTIME && mode != HRTIMER_MODE_ABS)
|
|
||||||
+ /*
|
|
||||||
+ * Posix magic: Relative CLOCK_REALTIME timers are not affected by
|
|
||||||
+ * clock modifications, so they needs to become CLOCK_MONOTONIC to
|
|
||||||
+ * ensure Posix compliance.
|
|
||||||
+ */
|
|
||||||
+ if (clock_id == CLOCK_REALTIME && mode & HRTIMER_MODE_REL)
|
|
||||||
clock_id = CLOCK_MONOTONIC;
|
|
||||||
|
|
||||||
base = hrtimer_clockid_to_base(clock_id);
|
|
@ -47,7 +47,7 @@ Link: http://lkml.kernel.org/r/20110622174919.025446432@linutronix.de
|
|||||||
|
|
||||||
--- a/block/blk-core.c
|
--- a/block/blk-core.c
|
||||||
+++ b/block/blk-core.c
|
+++ b/block/blk-core.c
|
||||||
@@ -3291,7 +3291,7 @@ static void queue_unplugged(struct reque
|
@@ -3300,7 +3300,7 @@ static void queue_unplugged(struct reque
|
||||||
blk_run_queue_async(q);
|
blk_run_queue_async(q);
|
||||||
else
|
else
|
||||||
__blk_run_queue(q);
|
__blk_run_queue(q);
|
||||||
@ -56,7 +56,7 @@ Link: http://lkml.kernel.org/r/20110622174919.025446432@linutronix.de
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void flush_plug_callbacks(struct blk_plug *plug, bool from_schedule)
|
static void flush_plug_callbacks(struct blk_plug *plug, bool from_schedule)
|
||||||
@@ -3339,7 +3339,6 @@ EXPORT_SYMBOL(blk_check_plugged);
|
@@ -3348,7 +3348,6 @@ EXPORT_SYMBOL(blk_check_plugged);
|
||||||
void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule)
|
void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule)
|
||||||
{
|
{
|
||||||
struct request_queue *q;
|
struct request_queue *q;
|
||||||
@ -64,7 +64,7 @@ Link: http://lkml.kernel.org/r/20110622174919.025446432@linutronix.de
|
|||||||
struct request *rq;
|
struct request *rq;
|
||||||
LIST_HEAD(list);
|
LIST_HEAD(list);
|
||||||
unsigned int depth;
|
unsigned int depth;
|
||||||
@@ -3359,11 +3358,6 @@ void blk_flush_plug_list(struct blk_plug
|
@@ -3368,11 +3367,6 @@ void blk_flush_plug_list(struct blk_plug
|
||||||
q = NULL;
|
q = NULL;
|
||||||
depth = 0;
|
depth = 0;
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ Link: http://lkml.kernel.org/r/20110622174919.025446432@linutronix.de
|
|||||||
while (!list_empty(&list)) {
|
while (!list_empty(&list)) {
|
||||||
rq = list_entry_rq(list.next);
|
rq = list_entry_rq(list.next);
|
||||||
list_del_init(&rq->queuelist);
|
list_del_init(&rq->queuelist);
|
||||||
@@ -3376,7 +3370,7 @@ void blk_flush_plug_list(struct blk_plug
|
@@ -3385,7 +3379,7 @@ void blk_flush_plug_list(struct blk_plug
|
||||||
queue_unplugged(q, depth, from_schedule);
|
queue_unplugged(q, depth, from_schedule);
|
||||||
q = rq->q;
|
q = rq->q;
|
||||||
depth = 0;
|
depth = 0;
|
||||||
@ -85,7 +85,7 @@ Link: http://lkml.kernel.org/r/20110622174919.025446432@linutronix.de
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -3403,8 +3397,6 @@ void blk_flush_plug_list(struct blk_plug
|
@@ -3412,8 +3406,6 @@ void blk_flush_plug_list(struct blk_plug
|
||||||
*/
|
*/
|
||||||
if (q)
|
if (q)
|
||||||
queue_unplugged(q, depth, from_schedule);
|
queue_unplugged(q, depth, from_schedule);
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user