Linux v4.14.175-rt81-rc1
cover Linux v4.14.175-rt81-rc1
From: Tom Zanussi <[email protected]>
Dear RT Folks,
This is the RT stable review cycle of patch 4.14.175-rt81-rc1.
Please scream at me if I messed something up. Please test the patches too.
The -rc release will be uploaded to kernel.org and will be deleted when the final release is out. This is just a review release (or release candidate).
The pre-releases will not be pushed to the git repository, only the final release is.
If all goes well, this patch will be converted to the next main release on 2020-04-17.
To build 4.14.175-rt81-rc1 directly, the following patches should be applied:
https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.tar.xz
https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.14.175.xz
https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/patch-4.14.175-rt81-rc1.patch.xz
You can also build from 4.14.175-rt80 by applying the incremental patch:
https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/incr/patch-4.14.175-rt80-rt81-rc1.patch.xz
Enjoy,
-- Tom
Steven Rostedt (VMware) (1):
irq_work: Fix checking of IRQ_WORK_LAZY flag set on non PREEMPT_RT
Tom Zanussi (1):
Linux 4.14.175-rt81-rc1
kernel/irq_work.c | 12 +++++++++--- localversion-rt | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-)
Signature · 1 line
2.17.1
PATCH 1/2 irq_work: Fix checking of IRQ_WORK_LAZY flag set on non PREEMPT_RT
From: "Steven Rostedt (VMware)" <[email protected]>
v4.14.175-rt81-rc1 stable review patch.
If anyone has any objections, please let me know.
-----------
[ Upstream 4.19-rt commit a854c3525b7082189996a41c1dc057dcb138e305 ]
When CONFIG_PREEMPT_RT_FULL is not set, some of the checks for using lazy_list are not properly made as the IRQ_WORK_LAZY is not checked. There's two locations that need this update, so a use_lazy_list() helper function is added and used in both locations.
--- kernel/irq_work.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
kernel/irq_work.c +9 -3
@@ -57,6 +57,12 @@ void __weak arch_irq_work_raise(void)*/ } +static inline bool use_lazy_list (struct irq_work *work) +{ +return (IS_ENABLED (CONFIG_PREEMPT_RT_FULL ) && !(work->flags &IRQ_WORK_HARD_IRQ )) + || (work->flags &IRQ_WORK_LAZY ); +} +#ifdef CONFIG_SMP /* * Enqueue the irq_work @work on @cpu unless it's already pending
@@ -78,7 +84,7 @@ bool irq_work_queue_on(struct irq_work *work, int cpu)if (!irq_work_claim (work))return false; -if (IS_ENABLED (CONFIG_PREEMPT_RT_FULL ) && !(work->flags &IRQ_WORK_HARD_IRQ )) +if (use_lazy_list (work)) list = &per_cpu (lazy_list, cpu);else list = &per_cpu (raised_list, cpu);
@@ -95,7 +101,7 @@ EXPORT_SYMBOL_GPL(irq_work_queue_on);bool irq_work_queue (struct irq_work *work) {struct llist_head *list; -bool lazy_work, realtime =IS_ENABLED (CONFIG_PREEMPT_RT_FULL ); +bool lazy_work;/* Only queue if not already pending */ if (!irq_work_claim (work))
@@ -106,7 +112,7 @@ bool irq_work_queue(struct irq_work *work) lazy_work = work->flags &IRQ_WORK_LAZY ; -if (lazy_work || (realtime && !(work->flags &IRQ_WORK_HARD_IRQ ))) +if (use_lazy_list (work)) list =this_cpu_ptr (&lazy_list);else list =this_cpu_ptr (&raised_list);
Signature · 1 line
2.17.1
PATCH 2/2 Linux 4.14.175-rt81-rc1
In reply to [email protected]From: Tom Zanussi <[email protected]>
v4.14.175-rt81-rc1 stable review patch.
If anyone has any objections, please let me know.
-----------
--- localversion-rt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
localversion-rt +1 -1
@@ -1 +1 @@ --rt80 +-rt81-rc1
Signature · 1 line
2.17.1