[Crash-utility] [PATCH] Fix bugs in runq

Zhang Yanfei zhangyanfei at cn.fujitsu.com
Wed Aug 29 02:06:45 UTC 2012


于 2012年08月29日 04:53, Dave Anderson 写道:
> 
> 
> ----- Original Message -----
> 
>>
>> Right, I understand.  What I don't understand is the use of the "child"
>> terminology.  If CONFIG_RT_GROUP_SCHED is configured, then the sched_rt_entity
>> may reference a "group" run queue.  To me, it doesn't make sense to use
>> the term "CHILD RT PRIO_ARRAY" in the header.  Wouldn't it make more sense to
>> call it a "GROUP RT PRIO_ARRAY"?  Like this:
>>
>> crash> runq
>> CPU 0 RUNQUEUE: ffff880028216680
>>   CURRENT: PID: 5125   TASK: ffff88010799d540  COMMAND: "sh"
>>   RT PRIO_ARRAY: ffff880028216808
>>      [  0] PID: 5136   TASK: ffff8801153cc040  COMMAND: "rtloop99"
>>            GROUP RT PRIO_ARRAY: ffff88013b050000
>>              [  0] PID: 5133   TASK: ffff88010799c080  COMMAND: "rtloop99"
>>              [  1] PID: 5131   TASK: ffff880037922aa0  COMMAND: "rtloop98"
>>              [ 98] PID: 5128   TASK: ffff88011bd87540  COMMAND: "rtloop1"
>>                    PID: 5130   TASK: ffff8801396e7500  COMMAND: "rtloop1"
>>                    PID: 5129   TASK: ffff88011bf5a080  COMMAND: "rtloop1"
>>           PID: 6      TASK: ffff88013d7c6080  COMMAND: "watchdog/0"
>>           PID: 3      TASK: ffff88013d7ba040  COMMAND: "migration/0"
>>     [  1] PID: 5134   TASK: ffff8801153cd500  COMMAND: "rtloop98"
>>           PID: 5135   TASK: ffff8801153ccaa0  COMMAND: "rtloop98"
>>     ...
>>
>>
>> CPU 1 RUNQUEUE: ffff880028296680
>>   CURRENT: PID: 5086   TASK: ffff88006eecc040  COMMAND: "bash"
>>   RT PRIO_ARRAY: ffff880028296808
>>      [  0] PID: 5137   TASK: ffff880107b35540  COMMAND: "rtloop99"
>>            PID: 10     TASK: ffff88013cc2cae0  COMMAND: "watchdog/1"
>>            PID: 2852   TASK: ffff88013bd5aae0  COMMAND:
>>            "rtkit-daemon"
>>      [ 54] GROUP RT PRIO_ARRAY: ffff880138978000
>>              [ 54] PID: 5132   TASK: ffff88006eecd500  COMMAND: "rtloop45"
>>   CFS RB_ROOT: ffff880028296718
>>   ...
>>
> 
> Another question re: your patch -- is it possible to have a "depth" greater
> than 1?
> 

Yes, "depth" could be greater than 1, see the example below:

CPU 0 RUNQUEUE: ffff880028216680
  CURRENT: PID: 17085  TASK: ffff880137c63540  COMMAND: "bash"
  RT PRIO_ARRAY: ffff880028216808                                        <-- depth = 0
     [  0] PID: 17129  TASK: ffff880037aeaaa0  COMMAND: "rtloop99"
           PID: 2832   TASK: ffff88013b09cae0  COMMAND: "rtkit-daemon"
           PID: 6      TASK: ffff88013d7c6080  COMMAND: "watchdog/0"
     [  1] GROUP RT PRIO_ARRAY: ffff88002ca65000                         <-- depth = 1
              [  1] GROUP RT PRIO_ARRAY: ffff880015821000                <-- depth = 2
                       [  1] PID: 17126  TASK: ffff880135d2a040  COMMAND: "rtloop98"
              [ 98] PID: 17119  TASK: ffff88010190d500  COMMAND: "rtloop1"
                    PID: 17121  TASK: ffff88013bd27500  COMMAND: "rtloop1"
                    PID: 17120  TASK: ffff88010190caa0  COMMAND: "rtloop1"
  CFS RB_ROOT: ffff880028216718
     [120] PID: 17114  TASK: ffff88001328d500  COMMAND: "sh"
     [120] PID: 17112  TASK: ffff880037b84080  COMMAND: "sh"

CPU 1 RUNQUEUE: ffff880028296680
  CURRENT: PID: 17106  TASK: ffff88001852a080  COMMAND: "sh"
  RT PRIO_ARRAY: ffff880028296808                                        <-- depth = 0
     [  0] GROUP RT PRIO_ARRAY: ffff880103ded800                         <-- depth = 1
              [  0] GROUP RT PRIO_ARRAY: ffff88011ae70800                <-- depth = 2
                       [  0] PID: 17127  TASK: ffff8800378f6040  COMMAND: "rtloop99"
                    PID: 17124  TASK: ffff8800a9592ae0  COMMAND: "rtloop99"
              [  1] PID: 17122  TASK: ffff88011aec3500  COMMAND: "rtloop98"
              [ 54] PID: 17123  TASK: ffff88013b414ae0  COMMAND: "rtloop45"
           PID: 10     TASK: ffff88013cc2cae0  COMMAND: "watchdog/1"
           PID: 7      TASK: ffff88013d7ef500  COMMAND: "migration/1"
     [  1] PID: 17128  TASK: ffff880139761540  COMMAND: "rtloop98"
  CFS RB_ROOT: ffff880028296718
     [120] PID: 17104  TASK: ffff88010fc0aaa0  COMMAND: "sh"
     [120] PID: 17102  TASK: ffff880137f83540  COMMAND: "sh"
     [120] PID: 17098  TASK: ffff880013294080  COMMAND: "sh"
     [120] PID: 17100  TASK: ffff88011aec2040  COMMAND: "sh"
     [120] PID: 17116  TASK: ffff880138d4f540  COMMAND: "sh"
     [120] PID: 17110  TASK: ffff880137c06080  COMMAND: "sh"
     [120] PID: 17108  TASK: ffff880037aeb500  COMMAND: "sh"

Hmm, I think the depth could not be that big. So how do you think this
kind of output.

The attached patch just changed "CHILD" to "GROUP".

Thanks
Zhang Yanfei
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-Fix-rt-not-support-group-sched-bug.patch
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20120829/6dca1856/attachment.ksh>


More information about the Crash-utility mailing list