Date: Sat, 6 Feb 1999 16:26:17 +1100 From: Bruce Evans <bde@zeta.org.au> To: dillon@apollo.backplane.com, wwoods@cybcon.com Cc: bde@zeta.org.au, current@FreeBSD.ORG Subject: Re: Top not working in -Current?? Message-ID: <199902060526.QAA10052@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
> This this patch to /usr/src/lib/libkvm/kvm_getswapinfo.c. Then > recompile libkvm and try top and pstat -s again. >Index: kvm_getswapinfo.c >=================================================================== >RCS file: /home/ncvs/src/lib/libkvm/kvm_getswapinfo.c,v >retrieving revision 1.4 >diff -u -r1.4 kvm_getswapinfo.c >--- kvm_getswapinfo.c 1999/01/27 11:29:15 1.4 >+++ kvm_getswapinfo.c 1999/02/06 04:46:48 >@@ -127,10 +127,10 @@ > KGET(NL_NSWDEV, nswdev); > KGET(NL_DMMAX, dmmax); > >- if (kvm_swap_nl[NL_SWAPLIST].n_value) >+ if (kvm_swap_nl[NL_SWAPLIST].n_type != N_UNDF) > type = 1; > >- if (kvm_swap_nl[NL_SWAPBLIST].n_value) >+ if (kvm_swap_nl[NL_SWAPBLIST].n_type != N_UNDF) > type = 2; > > /* >@@ -406,6 +406,13 @@ > struct blist blcopy = { 0 }; > > KGET(NL_SWAPBLIST, swapblist); >+ >+ if (swapblist == NULL) { >+ if (flags & SWIF_DUMP_TREE) >+ printf("radix tree: NULL - no swap in system\n"); >+ return; >+ } >+ > KGET2(swapblist, &blcopy, sizeof(blcopy), "*swapblist"); > > if (flags & SWIF_DUMP_TREE) { This needs more work - library routines shouldn't print to stdout or stderr, especially when there is a function like kvm_geterr() for reporting errors. - no swap is not an error. - top still gets a SIGFPE (the bug is in top -- it divides by swpary[0].ksw_total which may be 0). - pstat and systat have the same bug as top. - libkvm is still bloated with support for old swapping methods, despite more important parts of libkvm not working with kernels more than a few days old because the proc struct changed significantly. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902060526.QAA10052>