NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-i386/57641: -current/i386 no longer installs in 32 MB



On Wed, Oct 04, 2023 at 10:50:25PM +0000, Taylor R Campbell wrote:

> > From: Andrew Doran <ad%netbsd.org@localhost>
> > 
> > It's probably not an satisfying answer but I don't think it's a valid test
> > because DIAGNOSTIC uses a lot more memory and we shouldn't be shipping
> > actual release kernels with it enabled.
> 
> How much more memory?  DIAGNOSTIC is supposed to be reasonably cheap,
> mostly cheap predicted-not-taken branches in assertions.

There's not an easy formula for that.  kmem adds sizeof(size_t) to every
allocation to track that size allocated is the same as size freed, which
eats a lot more space than expected because alignment requirements (for
cache friendliness) still need to be met.

> Should we move more things to DEBUG instead for expensive checks and
> higher memory usage?

Yeah I think so.  I'll cover it with DEBUG in a week or so if nobody has a
serious objection.

> > Looking back over the history for the amd64 GENERIC kernel it seems like
> > nobody has disabled it for any release since NetBSD 5 though which sucks.
> 
> What history did you check?  It has always been disabled in every
> release branch.  See, e.g., this commit on the netbsd-9 branch:
> 
> http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/amd64/conf/GENERIC?rev=1.531.2.4&content-type=text/x-cvsweb-markup&only_with_tag=netbsd-9

I looked at the history for amd64 GENERIC on cvsweb.netbsd.org, searched for
DIAGNOSTIC and it didn't find anything like that.  Maybe the page hadn't
finished loading or something.  I also had a hazy memory of installing a
release years ago and being sure it had DIAGNOSTIC enabled.  In any case it
seems I was wrong, cheers.

Andrew


Home | Main Index | Thread Index | Old Index