lkml.org 
[lkml]   [2007]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] Documentation: fix getdelays.c example -l option and segv
    Date
    In message <46C2A505.7040008@linux.vnet.ibm.com> you wrote:
    > Michael Neuling wrote:
    > > Fix a couple of minor issues with the getdelays.c example code.
    > >
    > > Signed-off-by: Michael Neuling <mikey@neuling.org>
    > > ---
    > > Documentation/accounting/getdelays.c | 21 +++++++++++----------
    > > 1 file changed, 11 insertions(+), 10 deletions(-)
    > >
    > > Index: linux-2.6-ozlabs/Documentation/accounting/getdelays.c
    > > ===================================================================
    > > --- linux-2.6-ozlabs.orig/Documentation/accounting/getdelays.c
    > > +++ linux-2.6-ozlabs/Documentation/accounting/getdelays.c
    > > @@ -196,7 +196,7 @@ void print_delayacct(struct taskstats *t
    > > "IO %15s%15s\n"
    > > " %15llu%15llu\n"
    > > "MEM %15s%15s\n"
    > > - " %15llu%15llu\n"
    > > + " %15llu%15llu\n",
    >
    > This change looks good!

    Looks like it was randomly removed in b663a79c191508f27cd885224b592a878c0ba0f6.

    >
    > > "count", "real total", "virtual total", "delay total",
    > > t->cpu_count, t->cpu_run_real_total, t->cpu_run_virtual_total,
    > > t->cpu_delay_total,
    > > @@ -335,17 +335,17 @@ int main(int argc, char *argv[])
    > > }
    > > }
    > >
    > > - if (tid) {
    > > - rc = send_cmd(nl_sd, id, mypid, TASKSTATS_CMD_GET,
    > > - cmd_type, &tid, sizeof(__u32));
    > > - PRINTF("Sent pid/tgid, retval %d\n", rc);
    > > - if (rc < 0) {
    > > - fprintf(stderr, "error sending tid/tgid cmd\n");
    > > - goto done;
    > > + do {
    > > + if (tid) {
    > > + rc = send_cmd(nl_sd, id, mypid, TASKSTATS_CMD_GET,
    > > + cmd_type, &tid, sizeof(__u32));
    > > + PRINTF("Sent pid/tgid, retval %d\n", rc);
    > > + if (rc < 0) {
    > > + fprintf(stderr, "error sending tid/tgid cmd\n")
    ;
    > > + goto done;
    > > + }
    > > }
    > > - }
    > >
    > > - do {
    > > int i;
    > >
    > > rep_len = recv(nl_sd, &msg, sizeof(msg), 0);
    > > @@ -430,6 +430,7 @@ int main(int argc, char *argv[])
    > > }
    > > na = (struct nlattr *) (GENLMSG_DATA(&msg) + len);
    > > }
    > > + sleep(2);
    >
    > Is this really required? a sleep() in the code. Why do we do multiple
    > send_cmd()'s in the do loop? I'll test and get back.

    I needed to send another command to receive more data. Without the per
    loop send_cmd, I never got any more stats.

    Should we receive more data without the additional send_cmd? I've been
    running with:
    ./getdelays -d -p 1 -l

    Mikey


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-08-15 10:17    [W:0.025 / U:90.640 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site