Hi Peter, In oder to make it readable, I have comment in the patch why this change is made, - if (!state_filter || (p->state & state_filter)) + /* in case we want to set TASK_RUNNING specifically */ + if ((p->state != TASK_RUNNING ? p->state << 1 : 1) & state_filter) sched_show_task(p);
show_state_filter() is only used in SysRq, in which we can dump all tasks (with the key 't'), or uninterruptible tasks(with the key 'w'). I think we should also dump only running tasks (with a new key, or something else). But in order to introduce the new key, we should made this change first. After this change got approved, I will try to make some changes in SysRq. Thanks Yafang 2017-08-08 18:24 GMT+08:00 Peter Zijlstra <pet...@infradead.org>: > On Tue, Aug 08, 2017 at 04:50:23PM +0800, Yafang Shao wrote: >> Hi Peter, >> >> The point is we call use it as bellow, >> show_state_filter(TASK_RUNNING); >> because TASK_RUNNING is 0, that will dump all tasks. >> >> Under some circumstance, we need this to dump only tasks in TASK_RUNNING >> state. > > But the patch doesn't introduce any of that. It just makes the existing > code unreadable.