Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Aug 2004 10:05:43 -0700
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        Nate Lawson <nate@root.org>
Subject:   Re: cvs commit: src/sys/modules Makefile
Message-ID:  <20040803170543.GD2037@Odin.AC.HMC.Edu>
In-Reply-To: <200408031239.06942.jhb@FreeBSD.org>
References:  <200408021954.i72JsYD5028875@grimreaper.grondar.org> <410EB74B.7020206@root.org> <200408031239.06942.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--n2Pv11Ogg/Ox8ay5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Aug 03, 2004 at 12:39:06PM -0400, John Baldwin wrote:
> On Monday 02 August 2004 05:51 pm, Nate Lawson wrote:
> > Mark Murray wrote:
> > > Brooks Davis writes:
> > >>IMO this is a module system bug not a bug in any given module.  There=
's
> > >> no good reason for the system to succeed at loading a module that's
> > >> already there regardless of how it got there.  I don't understand the
> > >> module system well enough to know where the bug lies, but I believe =
the
> > >> DECLARE_MODULE statement provides more then enough information to av=
oid
> > >> duplicates.
> > >
> > > I'm looking to see if MODULE_VERSION() may fix this.
> >
> > The case where mem is compiled into the kernel and then an attempt is
> > made to load it as a module needs to be detected by looking for an
> > instance of the devclass.  See how acpi/legacy co-exist.  This is not
> > just a problem with the same module being loaded multiple times.
>=20
> mem is a dev_t aka struct cdev *, not a device_t.  There is no devclass.

Similarly, where I've seen this problem is pseudo network interfaces
which are nothing but ifnet entries.  This is why I think we need to
handle this in the module layer and stop requring hack in every driver.
I think peter's module code might fix some of this since I think we'll
get module registrations for static modules.

-- Brooks

--=20
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

--n2Pv11Ogg/Ox8ay5
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFBD8XmXY6L6fI4GtQRAgduAKCYOhoFYzYA7i3yuwxiy6kWCyFK8wCg2foG
83+tc/LimHpwXfPmTY/aYrk=
=hW+w
-----END PGP SIGNATURE-----

--n2Pv11Ogg/Ox8ay5--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040803170543.GD2037>