From f04f3afbf5c3e3d7c5a4d628bc901151a62a0625 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Thu, 28 Jul 2022 15:06:30 +0300 Subject: [PATCH] linuxkpi: more precise need_resched() definition Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D35888 --- sys/compat/linuxkpi/common/include/linux/sched.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/sched.h b/sys/compat/linuxkpi/common/include/linux/sched.h index a0bcd1260b8..24014e71cda 100644 --- a/sys/compat/linuxkpi/common/include/linux/sched.h +++ b/sys/compat/linuxkpi/common/include/linux/sched.h @@ -130,7 +130,8 @@ put_task_struct(struct task_struct *task) #define yield() kern_yield(PRI_UNCHANGED) #define sched_yield() sched_relinquish(curthread) -#define need_resched() td_ast_pending(curthread, TDA_SCHED) +#define need_resched() (curthread->td_owepreempt || \ + td_ast_pending(curthread, TDA_SCHED)) static inline int cond_resched_lock(spinlock_t *lock)