lkml.org 
[lkml]   [2016]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] perf sched: fix wrong conversion of task state
From
Date
On 7/27/16 9:58 AM, 関山友輝 / SEKIYAMA,TOMOKI wrote:
>>> diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
>>> index 0dfe8df..eb2f7f4 100644
>>> --- a/tools/perf/builtin-sched.c
>>> +++ b/tools/perf/builtin-sched.c
>>> @@ -71,6 +71,7 @@ struct sched_atom {
>>> };
>>>
>>> #define TASK_STATE_TO_CHAR_STR "RSDTtZXxKWP"
>>> +#define TASK_STATE_MASK 0x7ff
>>
>> The mask should not be needed and looking at top of tree there are 2 new
>> states (N and n) that need to be added.
>
> I couldn't find the state for 'n'. Where can I find it?

Check Linus' tree -- top of tree; commit 7dc603c9028ea.


> I have rechecked the code and found that __trace_sched_switch_state() uses
> TASK_STATE_MAX for preempted tasks.

since TASK_STATE_MAX is kernel version dependent perf should not rely on it.

> I will add 'N', and '+' (instead of "R+" ftrace shows) for preempted tasks.
> (Also add_sched_out_event should set THREAD_WAIT_CPU for preempted tasks.)
>


\
 
 \ /
  Last update: 2016-07-27 19:21    [W:0.053 / U:1.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site