My mistake, I didn't read your email carefully enough. Here's
the new patch.
Thanks,
Anthony
> -----Original Message-----
> From: crash-utility-bounces(a)redhat.com [mailto:crash-utility-
> bounces(a)redhat.com] On Behalf Of Dave Anderson
> Sent: Friday, November 08, 2013 1:29 PM
> To: Discussion list for crash utility usage, maintenance and
> development
> Subject: Re: [Crash-utility] patch for slight modification to runq -g
> command
>
>
>
> ----- Original Message -----
> > Dave,
> >
> > I have removed the nr_running and h_nr_running related code and
> added
> > "[CURRENT]" at the end of the current running task line.
> >
> > Thanks,
> > Anthony
>
>
> Anthony,
>
> As I requested before, can you also please remove the "CFS:
<address>"
> addition from the CURRENT: line? It makes little sense w/respect to
> the
> swapper tasks, and it is redundant w/respect to the other tasks since
> the "[CURRENT]" identifier has been added:
>
> crash> runq -g
> CPU 0
> CURRENT: PID: 0 CFS: ffff88021e2140b0 TASK: ffffffff81c13440
> COMMAND: "swapper/0"
> TASK_GROUP RT_RQ: ffff88021e2141c0
> RT PRIO_ARRAY: ffff88021e2141c0
> [no tasks queued]
> TASK_GROUP CFS_RQ: ffff88021e2140b0
> CFS RB_ROOT: ffff88021e2140d8
> [no tasks queued]
>
> CPU 1
> CURRENT: PID: 11532 CFS: ffff8801f6e00a00 TASK: ffff8800a0e9e9e0
> COMMAND: "crash"
> TASK_GROUP RT_RQ: ffff88021e2541c0
> RT PRIO_ARRAY: ffff88021e2541c0
> [no tasks queued]
> TASK_GROUP CFS_RQ: ffff88021e2540b0
> CFS RB_ROOT: ffff88021e2540d8
> GROUP: ffff8800a0e92c00 CFS_RQ: ffff8801f6e00a00 RB_ROOT:
> ffff8801f6e00a28
> [120] PID: 11532 TASK: ffff8800a0e9e9e0 COMMAND: "crash"
> [CURRENT]
> ...
>
> Thanks,
> Dave
>
>
>
> >
> > > -----Original Message-----
> > > From: crash-utility-bounces(a)redhat.com [mailto:crash-utility-
> > > bounces(a)redhat.com] On Behalf Of Dave Anderson
> > > Sent: Friday, November 08, 2013 5:58 AM
> > > To: Discussion list for crash utility usage, maintenance and
> > > development
> > > Subject: Re: [Crash-utility] patch for slight modification to
> > > runq -g
> > > command
> > >
> > >
> > >
> > > ----- Original Message -----
> > > >
> > > > The "runq -g" output for that cpu looks like this:
> > > >
> > > > CPU 1
> > > > CURRENT: PID: 1212 CFS: ffff880035cc2f00 TASK:
> ffff880035f60000
> > > > COMMAND: "bash"
> > > > TASK_GROUP RT_RQ: ffff88007fa541e8
> > > > RT PRIO_ARRAY: ffff88007fa541e8
> > > > [no tasks queued]
> > > > TASK_GROUP CFS_RQ: ffff88007fa540f0
> > > > CFS RB_ROOT: ffff88007fa54118
> > > > GROUP: ffff880078af7800 CFS_RQ: ffff880035cc2f00
> > > > RB_ROOT:
> > > ffff880035cc2f28 nr_running: 4294967297 h_nr_running:
> > > 201908650262921217
> > > > [120] PID: 1212 TASK: ffff880035f60000 COMMAND:
> > > > "bash"
> > > >
> > > > I don't understand where those values are coming from,
> > > > because
> if
> > > > I look at the CFS_RQ, it shows this:
> > > >
> > > > crash> cfs_rq.nr_running,h_nr_running ffff880035cc2f00
> > > > nr_running = 1
> > > > h_nr_running = 1
> > > > crash>
> > >
> > > The problem above is due to the fact that both nr_running and
> > > h_nr_running
> > > are of type unsigned int but your patch reads each of them as a
> ulong:
> > >
> > > crash> eval 4294967297
> > > hexadecimal: 100000001
> > > decimal: 4294967297
> > > octal: 40000000001
> > > binary:
> > >
> 000000000000000000000000000000010000000000000000000000000000000
> > > 1
> > > crash> eval 201908650262921217
> > > hexadecimal: 2cd52d900000001
> > > decimal: 201908650262921217
> > > octal: 13152455440000000001
> > > binary:
> > >
> 000000101100110101010010110110010000000000000000000000000000000
> > > 1
> > > crash>
> > >
> > > + readmem(cfs_rq + OFFSET(cfs_rq_nr_running), KVADDR,
> > > + &nr_running, sizeof(ulong), "cfs_rq
> > > nr_running",
> > > + FAULT_ON_ERROR);
> > > + if (VALID_MEMBER(cfs_rq_h_nr_running)) {
> > > + readmem(cfs_rq + OFFSET(cfs_rq_h_nr_running),
> KVADDR,
> > > + &h_nr_running, sizeof(ulong),
"cfs_rq
> > > h_nr_running",
> > > + FAULT_ON_ERROR);
> > > + fprintf(fp, " nr_running: %lu h_nr_running:
%lu
> > > ",
> > > nr_running,
> > > h_nr_running);
> > > + } else {
> > > + fprintf(fp, " nr_running: %lu ",
nr_running);
> > > + }
> > >
> > > But again, I don't seen any compelling reason to display them
> > > at all -
> -
> > > especially
> > > now that your patch displays the cfs_rq from which they come.
> > > If
> you
> > > really
> > > need to see their values, just dump the data structure.
> > >
> > > And as I mentioned earlier, the CFS address in the CURRENT:
> > > line is
> > > confusing and
> > > redundant. Perhaps you could clarify things by appending
> "[CURRENT]"
> > > after
> > > the task identifier in the queue, i.e., like:
> > >
> > > [120] PID: 9048 TASK: ffff8808b07e4200 COMMAND:
> > > "actmain"
> > > [CURRENT]
> > >
> > > Thanks,
> > > Dave
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > Crash-utility mailing list
> > > Crash-utility(a)redhat.com
> > >
https://www.redhat.com/mailman/listinfo/crash-utility
> >
> > --
> > Crash-utility mailing list
> > Crash-utility(a)redhat.com
> >
https://www.redhat.com/mailman/listinfo/crash-utility
>
> --
> Crash-utility mailing list
> Crash-utility(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/crash-utility
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility