David Holland <dholland-sourcechan...@netbsd.org> writes: > On Fri, Jan 06, 2012 at 03:15:28PM +0000, Cherry G. Mathew wrote: > > Modified Files: > > src/sys/arch/x86/x86: pmap.c > > src/sys/arch/xen/x86: cpu.c > > > > Log Message: > > Address those pesky DIAGNOSTIC messages. \n > > Take a performance hit at fork() for not DTRT. \n > > Note: Only applicable for kernels built with "options DIAGNOSTIC" \n > > > > [...] > > +#ifdef DIAGNOSTIC > > + pmap_kremove(object, PAGE_SIZE); > > +#endif /* DIAGNOSTIC */ > > [plus two more like that] > > Uh... even if that's correct, which doesn't seem too likely on the > surface of things, it doesn't seem desirable.
I'm not sure if it's what David meant, but it seems wrong to have different behavior based on DIAGNOSTIC. I think DIAGNOSTIC is supposed to be about enabling inexpensive consistency checks, only. So if it's necessary to have consistency to have that call, it should be unconditional. And if not, it shouldn't exist in any case. Do you understand precisely what's going on? Is this about omitting steps necessary for consistency, but in the case where the new state will be immediately discarded?
pgp5Nd9a0VKjT.pgp
Description: PGP signature