Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 May 1999 18:18:27 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, imp@harmony.village.org
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   Re: cvs commit: src/usr.bin/vmstat vmstat.c
Message-ID:  <199905100818.SAA28334@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>: But it is still supposed to be a simple list (it doesn't even use the
>: queue macros).
>
>All I know is that the last element of the list points to the first on
>all the machines I tried it on.  I don't know why that is, but I did
>fix things so that at least the numbers are right...

Simple lists can only be circular if they are corrupted.  The corruption
is caused by not handling the head of the list specially.  Here the
sysinit in <sys/malloc.h> builds the list correctly, with M_ISADEV at
the tail of the list.  The first malloc(M_ISADEV, ...) then circularises
the list.  More serious corruption may occur later when malloc types
are uninited on module unload.

I fixed this by abusing ks_limit as an on-the-list flag.

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?199905100818.SAA28334>