!1011 1002 update Kernel-rt:preempt-RT to openEuler 5.10.0-146.0.0
From: @r2018 Reviewed-by: @guohaocs2c Signed-off-by: @guohaocs2c
This commit is contained in:
commit
1a8f8a53d2
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
From 6ec3a78026d8b2eec230d6c06fec79e0d066b4f9 Mon Sep 17 00:00:00 2001
|
||||
From 27268e71ff100fbb2b16dedb07d411efe86c91af Mon Sep 17 00:00:00 2001
|
||||
From: liyulei <liyulei@kylinos.cn>
|
||||
Date: Fri, 10 Mar 2023 16:22:16 +0800
|
||||
Date: Mon, 10 Apr 2023 09:48:17 +0800
|
||||
Subject: [PATCH] apply preempt RT patch
|
||||
|
||||
---
|
||||
@ -366,7 +366,7 @@ Subject: [PATCH] apply preempt RT patch
|
||||
kernel/sched/swait.c | 1 +
|
||||
kernel/signal.c | 105 +-
|
||||
kernel/smp.c | 14 +-
|
||||
kernel/softirq.c | 428 ++++-
|
||||
kernel/softirq.c | 426 +++-
|
||||
kernel/stop_machine.c | 27 +-
|
||||
kernel/time/hrtimer.c | 30 +
|
||||
kernel/time/tick-sched.c | 2 +-
|
||||
@ -409,7 +409,7 @@ Subject: [PATCH] apply preempt RT patch
|
||||
net/sched/sch_generic.c | 10 +
|
||||
net/sunrpc/svc_xprt.c | 4 +-
|
||||
net/xfrm/xfrm_state.c | 3 +-
|
||||
405 files changed, 9011 insertions(+), 4803 deletions(-)
|
||||
405 files changed, 9011 insertions(+), 4801 deletions(-)
|
||||
delete mode 100644 arch/alpha/include/asm/kmap_types.h
|
||||
delete mode 100644 arch/arc/include/asm/kmap_types.h
|
||||
delete mode 100644 arch/arm/include/asm/kmap_types.h
|
||||
@ -822,7 +822,7 @@ index a966239f04e4..a7830c59481f 100644
|
||||
-performs an IPI to inform all processors about the new mapping. This results
|
||||
-in a significant performance penalty.
|
||||
diff --git a/arch/Kconfig b/arch/Kconfig
|
||||
index f6d455c5a897..aa0ea1c2f046 100644
|
||||
index b0319fa3c3ee..32694b49d01e 100644
|
||||
--- a/arch/Kconfig
|
||||
+++ b/arch/Kconfig
|
||||
@@ -50,6 +50,7 @@ config OPROFILE
|
||||
@ -1056,7 +1056,7 @@ index 1b9f473c6369..c79912a6b196 100644
|
||||
+ alloc_kmap_pgtable(FIXMAP_BASE);
|
||||
}
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 9096aa34e482..9457b01b63ef 100644
|
||||
index 6bc58af25bbb..334a76a8dd35 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -31,6 +31,7 @@ config ARM
|
||||
@ -1092,7 +1092,7 @@ index 9096aa34e482..9457b01b63ef 100644
|
||||
select RTC_LIB
|
||||
select SET_FS
|
||||
select SYS_SUPPORTS_APM_EMULATION
|
||||
@@ -1509,6 +1512,7 @@ config HAVE_ARCH_PFN_VALID
|
||||
@@ -1520,6 +1523,7 @@ config HAVE_ARCH_PFN_VALID
|
||||
config HIGHMEM
|
||||
bool "High Memory Support"
|
||||
depends on MMU
|
||||
@ -1571,7 +1571,7 @@ index 187fab227b50..000000000000
|
||||
- return (void *)vaddr;
|
||||
-}
|
||||
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
|
||||
index 6ccc012f62c2..6b3a32110ef4 100644
|
||||
index 3dcf96f37a3c..7d3aefc50ada 100644
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -78,6 +78,7 @@ config ARM64
|
||||
@ -4272,7 +4272,7 @@ index e4abac6c9727..173999422ed8 100644
|
||||
|
||||
static struct kmsg_dumper kmsg_dumper = {
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index 7e53f43447b4..521c550aa7d7 100644
|
||||
index 29e12ad8bb20..29ed46138449 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -16,6 +16,7 @@ config X86_32
|
||||
@ -5416,7 +5416,7 @@ index 673196fe862e..0735ca5e8f86 100644
|
||||
kmap_waitqueues_init();
|
||||
}
|
||||
diff --git a/block/blk-mq.c b/block/blk-mq.c
|
||||
index 663c9f5d6556..4025e1bfab2e 100644
|
||||
index 1eab99166fd5..dea9f38b4937 100644
|
||||
--- a/block/blk-mq.c
|
||||
+++ b/block/blk-mq.c
|
||||
@@ -44,7 +44,7 @@
|
||||
@ -5428,7 +5428,7 @@ index 663c9f5d6556..4025e1bfab2e 100644
|
||||
|
||||
static void blk_mq_poll_stats_start(struct request_queue *q);
|
||||
static void blk_mq_poll_stats_fn(struct blk_stat_callback *cb);
|
||||
@@ -657,80 +657,29 @@ void blk_mq_end_request(struct request *rq, blk_status_t error)
|
||||
@@ -650,80 +650,29 @@ void blk_mq_end_request(struct request *rq, blk_status_t error)
|
||||
}
|
||||
EXPORT_SYMBOL(blk_mq_end_request);
|
||||
|
||||
@ -5517,7 +5517,7 @@ index 663c9f5d6556..4025e1bfab2e 100644
|
||||
}
|
||||
|
||||
static inline bool blk_mq_complete_need_ipi(struct request *rq)
|
||||
@@ -740,6 +689,14 @@ static inline bool blk_mq_complete_need_ipi(struct request *rq)
|
||||
@@ -733,6 +682,14 @@ static inline bool blk_mq_complete_need_ipi(struct request *rq)
|
||||
if (!IS_ENABLED(CONFIG_SMP) ||
|
||||
!test_bit(QUEUE_FLAG_SAME_COMP, &rq->q->queue_flags))
|
||||
return false;
|
||||
@ -5532,7 +5532,7 @@ index 663c9f5d6556..4025e1bfab2e 100644
|
||||
|
||||
/* same CPU or cache domain? Complete locally */
|
||||
if (cpu == rq->mq_ctx->cpu ||
|
||||
@@ -751,6 +708,31 @@ static inline bool blk_mq_complete_need_ipi(struct request *rq)
|
||||
@@ -744,6 +701,31 @@ static inline bool blk_mq_complete_need_ipi(struct request *rq)
|
||||
return cpu_online(rq->mq_ctx->cpu);
|
||||
}
|
||||
|
||||
@ -5564,7 +5564,7 @@ index 663c9f5d6556..4025e1bfab2e 100644
|
||||
bool blk_mq_complete_request_remote(struct request *rq)
|
||||
{
|
||||
WRITE_ONCE(rq->state, MQ_RQ_COMPLETE);
|
||||
@@ -763,15 +745,15 @@ bool blk_mq_complete_request_remote(struct request *rq)
|
||||
@@ -756,15 +738,15 @@ bool blk_mq_complete_request_remote(struct request *rq)
|
||||
return false;
|
||||
|
||||
if (blk_mq_complete_need_ipi(rq)) {
|
||||
@ -5587,7 +5587,7 @@ index 663c9f5d6556..4025e1bfab2e 100644
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(blk_mq_complete_request_remote);
|
||||
|
||||
@@ -1686,14 +1668,14 @@ static void __blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async,
|
||||
@@ -1679,14 +1661,14 @@ static void __blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async,
|
||||
return;
|
||||
|
||||
if (!async && !(hctx->flags & BLK_MQ_F_BLOCKING)) {
|
||||
@ -5605,7 +5605,7 @@ index 663c9f5d6556..4025e1bfab2e 100644
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -4222,7 +4204,7 @@ static int __init blk_mq_init(void)
|
||||
@@ -4215,7 +4197,7 @@ static int __init blk_mq_init(void)
|
||||
int i;
|
||||
|
||||
for_each_possible_cpu(i)
|
||||
@ -6602,7 +6602,7 @@ index ce9429ca6dde..29ccbd6acf43 100644
|
||||
This allows LEDs to be controlled by active CPUs. This shows
|
||||
the active CPUs across an array of LEDs so you can see which
|
||||
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
|
||||
index 454d90b785b9..61bea746917e 100644
|
||||
index 27f961aa2714..02d972109a98 100644
|
||||
--- a/drivers/md/raid5.c
|
||||
+++ b/drivers/md/raid5.c
|
||||
@@ -2217,8 +2217,9 @@ static void raid_run_ops(struct stripe_head *sh, unsigned long ops_request)
|
||||
@ -6626,7 +6626,7 @@ index 454d90b785b9..61bea746917e 100644
|
||||
}
|
||||
|
||||
static void free_stripe(struct kmem_cache *sc, struct stripe_head *sh)
|
||||
@@ -7089,6 +7091,7 @@ static int raid456_cpu_up_prepare(unsigned int cpu, struct hlist_node *node)
|
||||
@@ -7088,6 +7090,7 @@ static int raid456_cpu_up_prepare(unsigned int cpu, struct hlist_node *node)
|
||||
__func__, cpu);
|
||||
return -ENOMEM;
|
||||
}
|
||||
@ -8574,7 +8574,7 @@ index b4d43a4af5f7..ac255e889462 100644
|
||||
#define __preempt_schedule() preempt_schedule()
|
||||
extern asmlinkage void preempt_schedule_notrace(void);
|
||||
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
|
||||
index 171884608cad..03351f985871 100644
|
||||
index 9ede0a81e466..31a67de40ac3 100644
|
||||
--- a/include/linux/blkdev.h
|
||||
+++ b/include/linux/blkdev.h
|
||||
@@ -166,7 +166,7 @@ struct request {
|
||||
@ -13171,7 +13171,7 @@ index 26a81ea63156..c15ca545011a 100644
|
||||
spin_unlock(&sighand->siglock);
|
||||
|
||||
diff --git a/kernel/fork.c b/kernel/fork.c
|
||||
index 0e141623a95d..7cb01624ae0c 100644
|
||||
index f0aa2da990b8..627f3d35cc0e 100644
|
||||
--- a/kernel/fork.c
|
||||
+++ b/kernel/fork.c
|
||||
@@ -42,6 +42,7 @@
|
||||
@ -13191,7 +13191,7 @@ index 0e141623a95d..7cb01624ae0c 100644
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@@ -693,6 +694,19 @@ void __mmdrop(struct mm_struct *mm)
|
||||
@@ -696,6 +697,19 @@ void __mmdrop(struct mm_struct *mm)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__mmdrop);
|
||||
|
||||
@ -13211,7 +13211,7 @@ index 0e141623a95d..7cb01624ae0c 100644
|
||||
static void mmdrop_async_fn(struct work_struct *work)
|
||||
{
|
||||
struct mm_struct *mm;
|
||||
@@ -734,6 +748,15 @@ void __put_task_struct(struct task_struct *tsk)
|
||||
@@ -737,6 +751,15 @@ void __put_task_struct(struct task_struct *tsk)
|
||||
WARN_ON(refcount_read(&tsk->usage));
|
||||
WARN_ON(tsk == current);
|
||||
|
||||
@ -13227,7 +13227,7 @@ index 0e141623a95d..7cb01624ae0c 100644
|
||||
io_uring_free(tsk);
|
||||
cgroup_free(tsk);
|
||||
task_numa_free(tsk, true);
|
||||
@@ -951,11 +974,13 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
|
||||
@@ -954,11 +977,13 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
|
||||
tsk->task_frag.page = NULL;
|
||||
tsk->wake_q.next = NULL;
|
||||
tsk->pf_io_worker = NULL;
|
||||
@ -13241,7 +13241,7 @@ index 0e141623a95d..7cb01624ae0c 100644
|
||||
#ifdef CONFIG_FAULT_INJECTION
|
||||
tsk->fail_nth = 0;
|
||||
#endif
|
||||
@@ -2079,6 +2104,7 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
@@ -2082,6 +2107,7 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
spin_lock_init(&p->alloc_lock);
|
||||
|
||||
init_sigpending(&p->pending);
|
||||
@ -22333,7 +22333,7 @@ index 114776d0d11e..6d35929a1990 100644
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
||||
index 09229ad82209..c9adc5c46248 100644
|
||||
index 19668d614f47..aafbb7a0f9ca 100644
|
||||
--- a/kernel/softirq.c
|
||||
+++ b/kernel/softirq.c
|
||||
@@ -13,6 +13,7 @@
|
||||
@ -22496,7 +22496,7 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
+
|
||||
+ WARN_ON_ONCE(in_irq());
|
||||
+ lockdep_assert_irqs_enabled();
|
||||
+
|
||||
|
||||
+ local_irq_save(flags);
|
||||
+ curcnt = __this_cpu_read(softirq_ctrl.cnt);
|
||||
+
|
||||
@ -22554,7 +22554,7 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
+
|
||||
+static inline void softirq_handle_begin(void) { }
|
||||
+static inline void softirq_handle_end(void) { }
|
||||
|
||||
+
|
||||
+static inline bool should_wake_ksoftirqd(void)
|
||||
+{
|
||||
+ return !this_cpu_read(softirq_ctrl.cnt);
|
||||
@ -22734,7 +22734,7 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -371,32 +609,6 @@ void irq_enter(void)
|
||||
@@ -371,31 +609,7 @@ void irq_enter(void)
|
||||
irq_enter_rcu();
|
||||
}
|
||||
|
||||
@ -22742,8 +22742,8 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
-{
|
||||
- if (ksoftirqd_running(local_softirq_pending()))
|
||||
- return;
|
||||
-
|
||||
- if (!force_irqthreads) {
|
||||
|
||||
- if (!force_irqthreads || !__this_cpu_read(ksoftirqd)) {
|
||||
-#ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK
|
||||
- /*
|
||||
- * We can safely execute softirq on the current stack if
|
||||
@ -22763,11 +22763,10 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
- wakeup_softirqd();
|
||||
- }
|
||||
-}
|
||||
-
|
||||
|
||||
static inline void tick_irq_exit(void)
|
||||
{
|
||||
#ifdef CONFIG_NO_HZ_COMMON
|
||||
@@ -417,7 +629,7 @@ static inline void __irq_exit_rcu(void)
|
||||
@@ -417,7 +631,7 @@ static inline void __irq_exit_rcu(void)
|
||||
#else
|
||||
lockdep_assert_irqs_disabled();
|
||||
#endif
|
||||
@ -22776,7 +22775,7 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
preempt_count_sub(HARDIRQ_OFFSET);
|
||||
if (!in_interrupt() && local_softirq_pending())
|
||||
invoke_softirq();
|
||||
@@ -466,7 +678,7 @@ inline void raise_softirq_irqoff(unsigned int nr)
|
||||
@@ -466,7 +680,7 @@ inline void raise_softirq_irqoff(unsigned int nr)
|
||||
* Otherwise we wake up ksoftirqd to make sure we
|
||||
* schedule the softirq soon.
|
||||
*/
|
||||
@ -22785,7 +22784,7 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
wakeup_softirqd();
|
||||
}
|
||||
|
||||
@@ -532,6 +744,16 @@ void __tasklet_hi_schedule(struct tasklet_struct *t)
|
||||
@@ -532,6 +746,16 @@ void __tasklet_hi_schedule(struct tasklet_struct *t)
|
||||
}
|
||||
EXPORT_SYMBOL(__tasklet_hi_schedule);
|
||||
|
||||
@ -22802,7 +22801,7 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
static void tasklet_action_common(struct softirq_action *a,
|
||||
struct tasklet_head *tl_head,
|
||||
unsigned int softirq_nr)
|
||||
@@ -551,8 +773,7 @@ static void tasklet_action_common(struct softirq_action *a,
|
||||
@@ -551,8 +775,7 @@ static void tasklet_action_common(struct softirq_action *a,
|
||||
|
||||
if (tasklet_trylock(t)) {
|
||||
if (!atomic_read(&t->count)) {
|
||||
@ -22812,7 +22811,7 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
BUG();
|
||||
if (t->use_callback)
|
||||
t->callback(t);
|
||||
@@ -607,21 +828,62 @@ void tasklet_init(struct tasklet_struct *t,
|
||||
@@ -607,21 +830,62 @@ void tasklet_init(struct tasklet_struct *t,
|
||||
}
|
||||
EXPORT_SYMBOL(tasklet_init);
|
||||
|
||||
@ -22881,7 +22880,7 @@ index 09229ad82209..c9adc5c46248 100644
|
||||
void __init softirq_init(void)
|
||||
{
|
||||
int cpu;
|
||||
@@ -644,18 +906,18 @@ static int ksoftirqd_should_run(unsigned int cpu)
|
||||
@@ -644,18 +908,18 @@ static int ksoftirqd_should_run(unsigned int cpu)
|
||||
|
||||
static void run_ksoftirqd(unsigned int cpu)
|
||||
{
|
||||
@ -23063,7 +23062,7 @@ index f7d3a108e27c..f24e6fed6633 100644
|
||||
ret = try_to_del_timer_sync(timer);
|
||||
|
||||
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
|
||||
index 4e130e2bb566..50a2db7a791d 100644
|
||||
index 951181d5b9fb..9e4845cf65e4 100644
|
||||
--- a/kernel/trace/trace.c
|
||||
+++ b/kernel/trace/trace.c
|
||||
@@ -2592,60 +2592,43 @@ enum print_line_t trace_handle_return(struct trace_seq *s)
|
||||
|
||||
@ -10,9 +10,9 @@
|
||||
|
||||
%global upstream_version 5.10
|
||||
%global upstream_sublevel 0
|
||||
%global devel_release 144
|
||||
%global devel_release 146
|
||||
%global maintenance_release .0.0
|
||||
%global pkg_release .58
|
||||
%global pkg_release .59
|
||||
%global rt_release .rt62
|
||||
|
||||
%define with_debuginfo 1
|
||||
@ -887,6 +887,9 @@ fi
|
||||
|
||||
%changelog
|
||||
|
||||
* Wed Apr 10 2023 liyulei <liyulei@kylinos.cn> - 5.10.0-146.0.0.59
|
||||
- update kernel-rt version to 5.10.0-146.0.0
|
||||
|
||||
* Wed Mar 10 2023 liyulei <liyulei@kylinos.cn> - 5.10.0-144.0.0.58
|
||||
- update kernel-rt version to 5.10.0-144.0.0
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user