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>
