lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <11201.1187165591@neuling.org>
Date:	Wed, 15 Aug 2007 18:13:11 +1000
From:	Michael Neuling <mikey@...ling.org>
To:	balbir@...ux.vnet.ibm.com
cc:	linux-kernel@...r.kernel.org, akpm@...l.org
Subject: Re: [PATCH] Documentation: fix getdelays.c example -l option and segv 

In message <46C2A505.7040008@...ux.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@...ling.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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ