Date: Sun, 12 Jan 2003 04:00:39 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Maxime Henrion <mux@FreeBSD.org> Cc: Matt Dillon <dillon@FreeBSD.org>, <cvs-committers@FreeBSD.org>, <cvs-all@FreeBSD.org> Subject: Re: cvs commit: src/sbin/sysctl sysctl.c src/sys/vm vm_meter.c vm_param.h src/usr.bin/systat vmstat.c src/usr.bin/vmstat vmstat.c Message-ID: <20030112023654.C3194-100000@gamplex.bde.org> In-Reply-To: <20030111115116.GA16775@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 11 Jan 2003, Maxime Henrion wrote: > Matt Dillon wrote: > > dillon 2003/01/10 23:29:47 PST > > > > Modified files: > > sbin/sysctl sysctl.c > > sys/vm vm_meter.c vm_param.h > > usr.bin/systat vmstat.c > > usr.bin/vmstat vmstat.c > > Log: > > Make 'sysctl vm.vmtotal' work properly using updated patch from Hiten. > > (the patch in the PR was stale). > > Was this commit tested ? It breaks the build of the kernel. Can you > please fix this ? I had not noticed this, but noticed many others (loss of compatibility by renaming old interfaces, printf format errors in sysctl.c including truncating all the int32_t fields mod 64K, and some bugs in the source and output formatting in sysctl.c). The following patch fixes most of the problems in sysctl.c (however, I would prefer to back out the changes there, since everything is or should be better thandled in vmstat or systat). %%% Index: sysctl.c =================================================================== RCS file: /home/ncvs/src/sbin/sysctl/sysctl.c,v retrieving revision 1.49 diff -u -2 -r1.49 sysctl.c --- sysctl.c 11 Jan 2003 07:29:46 -0000 1.49 +++ sysctl.c 11 Jan 2003 16:45:38 -0000 @@ -333,15 +333,19 @@ return (0); } - printf("\nSystem wide totals computed every five seconds:\n"); printf("===============================================\n"); - printf("Processes: (RUNQ:\t %hu Disk Wait: %hu Page Wait: %hu Sleep: %hu)\n", - v->t_rq, v->t_dw, v->t_pw, v->t_sl); - printf("Virtual Memory:\t\t (Total: %hu Active %hu)\n", v->t_vm, v->t_avm); - printf("Real Memory:\t\t (Total: %hu Active %hu)\n", v->t_rm, v->t_arm); - printf("Shared Virtual Memory:\t (Total: %hu Active: %hu)\n", v->t_vmshr, v->t_avmshr); - printf("Shared Real Memory:\t (Total: %hu Active: %hu)\n", v->t_rmshr, v->t_armshr); - printf("Free Memory Pages:\t %hu\n", v->t_free); - + printf( +"Processes:\t\t (RUNQ %d, Disk Wait %d, Page Wait %d, Sleep %d, Swap %d)\n", + v->t_rq, v->t_dw, v->t_pw, v->t_sl, v->t_sw); + printf( +"Virtual Memory:\t\t (Total %#lx (bytes; others: pages), Active %ld)\n", + (u_long)v->t_vm, (long)v->t_avm); + printf("Real Memory:\t\t (Total %ld, Active %ld)\n", + (long)v->t_rm, (long)v->t_arm); + printf("Shared Virtual Memory:\t (Total %ld, Active %ld)\n", + (long)v->t_vmshr, (long)v->t_avmshr); + printf("Shared Real Memory:\t (Total %ld, Active %ld)\n", + (long)v->t_rmshr, (long)v->t_armshr); + printf("Free Memory Pages:\t %ld", (long)v->t_free); return (0); } %%% This makes differences like the following in the output: %%% --- out.old Sun Jan 12 03:40:42 2003 +++ out.new Sun Jan 12 03:45:45 2003 @@ -2,9 +2,8 @@ System wide totals computed every five seconds: =============================================== -Processes: (RUNQ: 1 Disk Wait: 0 Page Wait: 0 Sleep: 32) -Virtual Memory: (Total: 21697 Active 6295) -Real Memory: (Total: 60670 Active 3718) -Shared Virtual Memory: (Total: 933 Active: 855) -Shared Real Memory: (Total: 513 Active: 503) -Free Memory Pages: 5544 - +Processes: (RUNQ 1, Disk Wait 0, Page Wait 0, Sleep 32, Swap 0) +Virtual Memory: (Total 0x800a5525 (bytes; others: pages), Active 6307) +Real Memory: (Total 126259, Active 3732) +Shared Virtual Memory: (Total 933, Active 855) +Shared Real Memory: (Total 513, Active 503) +Free Memory Pages: 5425 %%% Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030112023654.C3194-100000>