From ee930fffee469d076998274a2ca55e13dc1efb67 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 08:50:54 +0000
Subject: [PATCH] enable tun/tap/iptables
---
kernel/arch/arm64/include/asm/preempt.h | 28 +---------------------------
1 files changed, 1 insertions(+), 27 deletions(-)
diff --git a/kernel/arch/arm64/include/asm/preempt.h b/kernel/arch/arm64/include/asm/preempt.h
index 7a5770d..e83f098 100644
--- a/kernel/arch/arm64/include/asm/preempt.h
+++ b/kernel/arch/arm64/include/asm/preempt.h
@@ -70,43 +70,17 @@
* interrupt occurring between the non-atomic READ_ONCE/WRITE_ONCE
* pair.
*/
- if (!pc || !READ_ONCE(ti->preempt_count))
- return true;
-#ifdef CONFIG_PREEMPT_LAZY
- if ((pc & ~PREEMPT_NEED_RESCHED))
- return false;
- if (current_thread_info()->preempt_lazy_count)
- return false;
- return test_thread_flag(TIF_NEED_RESCHED_LAZY);
-#else
- return false;
-#endif
+ return !pc || !READ_ONCE(ti->preempt_count);
}
static inline bool should_resched(int preempt_offset)
{
-#ifdef CONFIG_PREEMPT_LAZY
- u64 pc = READ_ONCE(current_thread_info()->preempt_count);
- if (pc == preempt_offset)
- return true;
-
- if ((pc & ~PREEMPT_NEED_RESCHED) != preempt_offset)
- return false;
-
- if (current_thread_info()->preempt_lazy_count)
- return false;
- return test_thread_flag(TIF_NEED_RESCHED_LAZY);
-#else
u64 pc = READ_ONCE(current_thread_info()->preempt_count);
return pc == preempt_offset;
-#endif
}
#ifdef CONFIG_PREEMPTION
void preempt_schedule(void);
-#ifdef CONFIG_PREEMPT_RT
-void preempt_schedule_lock(void);
-#endif
#define __preempt_schedule() preempt_schedule()
void preempt_schedule_notrace(void);
#define __preempt_schedule_notrace() preempt_schedule_notrace()
--
Gitblit v1.6.2