From 102a0743326a03cd1a1202ceda21e175b7d3575c Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Tue, 20 Feb 2024 01:20:52 +0000
Subject: [PATCH] add new system file

---
 kernel/kernel/Kconfig.preempt |   53 +++++++++++++++++++++--------------------------------
 1 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/kernel/kernel/Kconfig.preempt b/kernel/kernel/Kconfig.preempt
index fd924c0..bf82259 100644
--- a/kernel/kernel/Kconfig.preempt
+++ b/kernel/kernel/Kconfig.preempt
@@ -1,19 +1,4 @@
-config PREEMPT
-	bool
-	select PREEMPT_COUNT
-
-config PREEMPT_RT_BASE
-	bool
-	select PREEMPT
-
-config PREEMPT_RT
-       bool
-
-config HAVE_PREEMPT_LAZY
-	bool
-
-config PREEMPT_LAZY
-	def_bool y if HAVE_PREEMPT_LAZY && PREEMPT_RT_FULL
+# SPDX-License-Identifier: GPL-2.0-only
 
 choice
 	prompt "Preemption Model"
@@ -50,10 +35,10 @@
 
 	  Select this if you are building a kernel for a desktop system.
 
-config PREEMPT__LL
+config PREEMPT
 	bool "Preemptible Kernel (Low-Latency Desktop)"
 	depends on !ARCH_NO_PREEMPT
-	select PREEMPT
+	select PREEMPTION
 	select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
 	help
 	  This option reduces the latency of the kernel by making
@@ -70,24 +55,28 @@
 	  embedded system with latency requirements in the milliseconds
 	  range.
 
-config PREEMPT_RTB
-	bool "Preemptible Kernel (Basic RT)"
-	select PREEMPT_RT_BASE
+config PREEMPT_RT
+	bool "Fully Preemptible Kernel (Real-Time)"
+	depends on EXPERT && ARCH_SUPPORTS_RT
+	select PREEMPTION
 	help
-	  This option is basically the same as (Low-Latency Desktop) but
-	  enables changes which are preliminary for the full preemptible
-	  RT kernel.
+	  This option turns the kernel into a real-time kernel by replacing
+	  various locking primitives (spinlocks, rwlocks, etc.) with
+	  preemptible priority-inheritance aware variants, enforcing
+	  interrupt threading and introducing mechanisms to break up long
+	  non-preemptible sections. This makes the kernel, except for very
+	  low level and critical code paths (entry code, scheduler, low
+	  level interrupt handling) fully preemptible and brings most
+	  execution contexts under scheduler control.
 
-config PREEMPT_RT_FULL
-	bool "Fully Preemptible Kernel (RT)"
-	depends on IRQ_FORCED_THREADING
-	select PREEMPT_RT_BASE
-	select PREEMPT_RCU
-	select PREEMPT_RT
-	help
-	  All and everything
+	  Select this if you are building a kernel for systems which
+	  require real-time guarantees.
 
 endchoice
 
 config PREEMPT_COUNT
        bool
+
+config PREEMPTION
+       bool
+       select PREEMPT_COUNT

--
Gitblit v1.6.2