[PATCH RFC v7 19/23] dept: Apply timeout consideration to swait

From: Byungchul Park
Date: Sun Jan 08 2023 - 23:06:33 EST


Now that CONFIG_DEPT_AGGRESSIVE_TIMEOUT_WAIT was introduced, apply the
consideration to swait, assuming an input 'ret' in ___swait_event()
macro is used as a timeout value.

Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx>
---
include/linux/swait.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/linux/swait.h b/include/linux/swait.h
index 1304209..339e5f2 100644
--- a/include/linux/swait.h
+++ b/include/linux/swait.h
@@ -162,7 +162,10 @@ static inline bool swq_has_sleeper(struct swait_queue_head *wq)
struct swait_queue __wait; \
long __ret = ret; \
\
- sdt_might_sleep_weak(NULL); \
+ if (!__ret || __ret == MAX_SCHEDULE_TIMEOUT) \
+ sdt_might_sleep_weak(NULL); \
+ else \
+ sdt_might_sleep_weak_timeout(NULL); \
INIT_LIST_HEAD(&__wait.task_list); \
for (;;) { \
long __int = prepare_to_swait_event(&wq, &__wait, state);\
--
1.9.1