Projects
openEuler:22.03:LTS:Next
kernel
_service:tar_scm_kernel_repo:0001-modify-openeu...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm_kernel_repo:0001-modify-openeuler_defconfig-for-rt62.patch of Package kernel
From 0026e130f88770f45b00f52ba1374dd90b8be0f0 Mon Sep 17 00:00:00 2001 From: liyulei <liyulei@kylinos.cn> Date: Mon, 6 Feb 2023 18:04:41 +0800 Subject: [PATCH 2/2] modify openeuler_defconfig for rt62 --- arch/arm64/configs/openeuler_defconfig | 5 +++-- arch/arm64/kernel/fpsimd.c | 4 ++-- arch/x86/configs/openeuler_defconfig | 7 ++++--- arch/x86/include/asm/preempt.h | 16 +++++++++++++--- include/linux/printk.h | 2 +- kernel/printk/printk.c | 2 +- 6 files changed, 24 insertions(+), 12 deletions(-) diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig index 30384eacad4f..b0ed4a9b3058 100644 --- a/arch/arm64/configs/openeuler_defconfig +++ b/arch/arm64/configs/openeuler_defconfig @@ -74,6 +74,7 @@ CONFIG_HIGH_RES_TIMERS=y CONFIG_PREEMPT_NONE=y # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set +CONFIG_PREEMPT_RT=y # # CPU/Task time and stats accounting @@ -733,7 +734,7 @@ CONFIG_ACPI_MPAM=y CONFIG_ACPI_PPTT=y # CONFIG_PMIC_OPREGION is not set CONFIG_IRQ_BYPASS_MANAGER=y -CONFIG_VIRTUALIZATION=y +# CONFIG_VIRTUALIZATION is not set CONFIG_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y @@ -1125,7 +1126,7 @@ CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y # CONFIG_GUP_BENCHMARK is not set # CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y -CONFIG_PIN_MEMORY=y +# CONFIG_PIN_MEMORY is not set CONFIG_PID_RESERVE=y CONFIG_MEMORY_RELIABLE=y # CONFIG_CLEAR_FREELIST_PAGE is not set diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c index 84520f11667d..aa631771e0dc 100644 --- a/arch/arm64/kernel/fpsimd.c +++ b/arch/arm64/kernel/fpsimd.c @@ -180,7 +180,7 @@ static void __get_cpu_fpsimd_context(void) */ static void get_cpu_fpsimd_context(void) { - local_bh_disable(); + preempt_disable(); __get_cpu_fpsimd_context(); } @@ -201,7 +201,7 @@ static void __put_cpu_fpsimd_context(void) static void put_cpu_fpsimd_context(void) { __put_cpu_fpsimd_context(); - local_bh_enable(); + preempt_enable(); } static bool have_cpu_fpsimd_context(void) diff --git a/arch/x86/configs/openeuler_defconfig b/arch/x86/configs/openeuler_defconfig index 5ada612f1d75..685a49ca1fef 100644 --- a/arch/x86/configs/openeuler_defconfig +++ b/arch/x86/configs/openeuler_defconfig @@ -89,9 +89,10 @@ CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem -CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set +CONFIG_PREEMPT_RT=y # # CPU/Task time and stats accounting @@ -206,7 +207,7 @@ CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_BPF=y -# CONFIG_EXPERT is not set +CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y CONFIG_SGETMASK_SYSCALL=y @@ -735,7 +736,7 @@ CONFIG_KVM_COMPAT=y CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_HAVE_KVM_NO_POLL=y CONFIG_KVM_XFER_TO_GUEST_WORK=y -CONFIG_VIRTUALIZATION=y +# CONFIG_VIRTUALIZATION is not set CONFIG_KVM=m CONFIG_KVM_INTEL=m CONFIG_X86_SGX_KVM=y diff --git a/arch/x86/include/asm/preempt.h b/arch/x86/include/asm/preempt.h index a3b73de276c3..dda9ec24fdc1 100644 --- a/arch/x86/include/asm/preempt.h +++ b/arch/x86/include/asm/preempt.h @@ -134,10 +134,8 @@ static __always_inline bool should_resched(int preempt_offset) #endif } +#ifndef CONFIG_PREEMPT_RT #ifdef CONFIG_PREEMPTION -#ifdef CONFIG_PREEMPT_RT - extern void preempt_schedule_lock(void); -#endif extern asmlinkage void preempt_schedule(void); extern asmlinkage void preempt_schedule_thunk(void); @@ -166,4 +164,16 @@ do { \ #endif +#else +#ifdef CONFIG_PREEMPTION +#ifdef CONFIG_PREEMPT_RT +extern void preempt_schedule_lock(void); +#endif +extern asmlinkage void preempt_schedule(void); +#define __preempt_schedule() preempt_schedule() +extern asmlinkage void preempt_schedule_notrace(void); +#define __preempt_schedule_notrace() preempt_schedule_notrace() +#endif /* CONFIG_PREEMPTION */ +#endif + #endif /* __ASM_PREEMPT_H */ diff --git a/include/linux/printk.h b/include/linux/printk.h index 9331b131ba25..23946f4828b2 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -241,7 +241,7 @@ __printf(1, 2) void dump_stack_set_arch_desc(const char *fmt, ...); void dump_stack_print_info(const char *log_lvl); void show_regs_print_info(const char *log_lvl); extern asmlinkage void dump_stack(void) __cold; -#if defined(CONFIG_X86) || defined(CONFIG_ARM64_PSEUDO_NMI) +#if (defined(CONFIG_X86) || defined(CONFIG_ARM64_PSEUDO_NMI)) && !defined(CONFIG_PREEMPT_RT) extern void zap_locks(void); #else static inline void zap_locks(void) { } diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index e95b00f24c75..59bd804e662a 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1813,7 +1813,7 @@ static void print_sync_until(struct console *con, u64 seq) console_atomic_unlock(flags); } -#if defined(CONFIG_X86) || defined(CONFIG_ARM64_PSEUDO_NMI) +#if (defined(CONFIG_X86) || defined(CONFIG_ARM64_PSEUDO_NMI)) && !defined(CONFIG_PREEMPT_RT) void zap_locks(void) { // if (raw_spin_is_locked(&logbuf_lock)) { -- 2.36.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.