Date: Fri, 7 Jan 2011 20:28:10 +0300 From: Lev Serebryakov <lev@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: phk@freebsd.org, freebsd-geom@freebsd.org Subject: Re: Building "third-party" modules for kernel with debug options? Message-ID: <903352167.20110107202810@serebryakov.spb.ru> In-Reply-To: <201101070820.24144.jhb@freebsd.org> References: <1241746160.20110107151559@serebryakov.spb.ru> <201101070820.24144.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, John. You wrote 7 =FF=ED=E2=E0=F0=FF 2011 =E3., 16:20:23: >> I've found, that "struct bio" is depend on state of "DIAGNOSTIC" >> flag ("options DIAGNOSTIC" in kernel config). But when I build >> third-party GEOM (or any other) module with using of <bsd.kmod.mk>, >> there is no access to these options. So, module, built from ports, can >> fail on user's kernel, even if it built with proper kernel sources in >> "/usr/src/sys". Is here any solution for this problem? >>=20 >> P.S. NB: GEOM module is only example, question is about modules & >> kernel options in general, so I put this message on Hackers list. > In general we try to avoid having "public" kernel data structures change = size > when various kernel options are in use. Some noticeable exceptions to th= is > rule are PAE (i386-only) and LOCK_PROFILING (considered to be something u= sers > would not typically use). DIAGNOSTIC might arguably be considered the sa= me as > LOCK_PROFILING, but I am surprised it affects bio. It should only affect= a > GEOM module that uses bio_pblockno however in this case since you should = be > using kernel routines to allocate bio structures rather than malloc'ing o= ne > directly. Perhaps phk@ would ok moving bio_pblockno up above the optional > diagnostic fields. I've got "bio_caller2 used by the provider XXX" panic when kernel had DIAGNOSTIC and goem_raid5 had not... I've redirected this answer into GEOM list, as it is more GEOM-specific than my original message. --=20 // Black Lion AKA Lev Serebryakov <lev@FreeBSD.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?903352167.20110107202810>