Messages in this thread Patch in this message | | | From | Liangliang Li <> | Subject | [PATCH] freezer,sched: Report TASK_FROZEN tasks as TASK_UNINTERRUPTIBLE | Date | Mon, 23 Oct 2023 21:57:35 +0800 |
| |
TASK_FROZEN is not in TASK_REPORT, thus a frozen task will appear as state == 0, IOW TASK_RUNNING.
Fix this by make TASK_FROZEN appear as TASK_UNINTERRUPTIBLE, thus we dont need to imply a new state to userspace tools.
Signed-off-by: Liangliang Li <liliangliang@vivo.com> --- include/linux/sched.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/include/linux/sched.h b/include/linux/sched.h index 292c31697248..0cfe2ba4fc6f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1690,6 +1690,10 @@ static inline unsigned int __task_state_index(unsigned int tsk_state, if (tsk_state & TASK_RTLOCK_WAIT) state = TASK_UNINTERRUPTIBLE; + /* Frozen tasks should appear as "D (disk sleep)' in userspace. */ + if (tsk_state & TASK_FROZEN) + state = TASK_UNINTERRUPTIBLE; + return fls(state); } -- 2.34.1
| |