Skip site navigation (1)Skip section navigation (2)
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>