]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
s390/preempt: Remove special pre MARCH_HAS_Z196_FEATURES implementation
authorHeiko Carstens <hca@linux.ibm.com>
Wed, 4 Dec 2024 11:31:01 +0000 (12:31 +0100)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Sun, 15 Dec 2024 14:13:43 +0000 (15:13 +0100)
Remove the preempt count implementation for pre MARCH_HAS_Z196_FEATURES
builds. If the kernel is compiled with PREEMPT=n, which is the default for
all distributions, this has close to zero impact in the generated code.

Therefore remove the alternative implementation to keep things simple.

Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/include/asm/preempt.h

index 3e3f21385db9612f6aa8cee51f2514ee33c73703..e100dd32f766a6b9dc1c31fdde6b2b135e5635b9 100644 (file)
@@ -8,8 +8,6 @@
 #include <asm/cmpxchg.h>
 #include <asm/march.h>
 
-#ifdef MARCH_HAS_Z196_FEATURES
-
 /* We use the MSB mostly because its available */
 #define PREEMPT_NEED_RESCHED   0x80000000
 
@@ -101,56 +99,6 @@ static __always_inline bool should_resched(int preempt_offset)
                        preempt_offset);
 }
 
-#else /* MARCH_HAS_Z196_FEATURES */
-
-#define PREEMPT_ENABLED        (0)
-
-static __always_inline int preempt_count(void)
-{
-       return READ_ONCE(get_lowcore()->preempt_count);
-}
-
-static __always_inline void preempt_count_set(int pc)
-{
-       get_lowcore()->preempt_count = pc;
-}
-
-static __always_inline void set_preempt_need_resched(void)
-{
-}
-
-static __always_inline void clear_preempt_need_resched(void)
-{
-}
-
-static __always_inline bool test_preempt_need_resched(void)
-{
-       return false;
-}
-
-static __always_inline void __preempt_count_add(int val)
-{
-       get_lowcore()->preempt_count += val;
-}
-
-static __always_inline void __preempt_count_sub(int val)
-{
-       get_lowcore()->preempt_count -= val;
-}
-
-static __always_inline bool __preempt_count_dec_and_test(void)
-{
-       return !--get_lowcore()->preempt_count && tif_need_resched();
-}
-
-static __always_inline bool should_resched(int preempt_offset)
-{
-       return unlikely(preempt_count() == preempt_offset &&
-                       tif_need_resched());
-}
-
-#endif /* MARCH_HAS_Z196_FEATURES */
-
 #define init_task_preempt_count(p)     do { } while (0)
 /* Deferred to CPU bringup time */
 #define init_idle_preempt_count(p, cpu)        do { } while (0)