!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:
openeuler-ci-bot 2023-04-20 02:55:34 +00:00 committed by Gitee
commit 1a8f8a53d2
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 43 additions and 26456 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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)

View File

@ -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