Re: [PATCH v2] scheduler: enhancement to show_state_filter

From: Yafang Shao
Date: Tue Aug 08 2017 - 06:36:47 EST


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 <peterz@xxxxxxxxxxxxx>:
> 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.