[Crash-utility] patch for slight modification to runq -g command
Dave Anderson
anderson at redhat.com
Wed Nov 13 19:58:09 UTC 2013
----- Original Message -----
> My mistake, I didn't read your email carefully enough. Here's the new patch.
>
> Thanks,
> Anthony
Thanks Anthony -- your changes are queued for crash-7.0.4.
Dave
>
>
> > -----Original Message-----
> > From: crash-utility-bounces at redhat.com [mailto:crash-utility-
> > bounces at 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 at redhat.com [mailto:crash-utility-
> > > > bounces at 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 at redhat.com
> > > > https://www.redhat.com/mailman/listinfo/crash-utility
> > >
> > > --
> > > Crash-utility mailing list
> > > Crash-utility at redhat.com
> > > https://www.redhat.com/mailman/listinfo/crash-utility
> >
> > --
> > Crash-utility mailing list
> > Crash-utility at redhat.com
> > https://www.redhat.com/mailman/listinfo/crash-utility
>
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
More information about the Crash-utility
mailing list