Subject: Re: kernel symbol tables (was Re: vmstat, iostat etc no longer work?)
To: Mike Long <firstname.lastname@example.org>
From: Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu>
Date: 11/15/1996 00:56:38
> Yup. We need kernel symbols for three things:
> 1) DDB: Symbols must be resident and nonpageable "forever".
> 2) KVM: Symbols may be pageable, and may be discarded once kvm_mkdb
> has been run.
> 3) LKM: Symbols may be pageable, and may be discarded when
> securelevel > 0.
The latter is not correct for (at least) two reasons:
(1) you don't want all of the kernel symbols to be exported, and
(2) the symbols can never be discarded, because even after
you've increased securelevel to > 0, it can still be
lowered (by going back to single-user mode).
(2) is mostly irrelevant (in my opinion), because you can solve the
same problem as easily for all "real" cases by having /etc/rc be able
to find out the name of the kernel which was booted... It also has
the potential problem that if somebody removes the kvm db, you're back
in the current situation.
> >I'm not saying that it's necessarily bad,w just that the corner cases
> >shouldn't be overlooked, and that logically incorrect justifications
> >shouldn't be given as to why it's a "good solution."
> Well, let me put it this way: How many people run NetBSD on machines
> where configuring DDB into the kernel would make it too big?
I've certainly configured it out of certain machines to save the
memory that it would occupy...