| From | zanussi@kernel ... | Subject | [PATCH RT 02/25] x86: preempt: Check preemption level before looking at lazy-preempt | Date | Fri, 21 Feb 2020 15:24:30 -0600 |
| |
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
v4.14.170-rt75-rc1 stable review patch. If anyone has any objections, please let me know.
-----------
[ Upstream commit 19fc8557f2323c52b26561651ed4d51fc688a740 ]
Before evaluating the lazy-preempt state it must be ensure that the preempt-count is zero.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Tom Zanussi <zanussi@kernel.org> --- arch/x86/include/asm/preempt.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/x86/include/asm/preempt.h b/arch/x86/include/asm/preempt.h index f66708779274..afa0e42ccdd1 100644 --- a/arch/x86/include/asm/preempt.h +++ b/arch/x86/include/asm/preempt.h @@ -96,6 +96,8 @@ static __always_inline bool __preempt_count_dec_and_test(void) if (____preempt_count_dec_and_test()) return true; #ifdef CONFIG_PREEMPT_LAZY + if (preempt_count()) + return false; if (current_thread_info()->preempt_lazy_count) return false; return test_thread_flag(TIF_NEED_RESCHED_LAZY); -- 2.14.1
|