Re: [PATCH] Serial driver size reducing (2.3.29)

Theodore Y. Ts'o (tytso@mit.edu)
Sat, 11 Dec 1999 00:13:00 -0500


Date: Fri, 10 Dec 1999 22:44:11 -0500
From: Jeff Garzik <jgarzik@mandrakesoft.com>

I don't see where this is a problem. API functions, ie. those that will
get called from other modules, are broken if they are marked __init.
>From what I've seen, converting various modules to use the new
module_init/exit, there have not been any problems with overzealous
__init usage. The problem is generally completely lack of __init{data}
usage.

The behavior and logic of __init{data}-related code should be exactly
the same, whether code is compiled as a module vs. compiled into the
kernel.

Well, for example, in a set of patches given to me, a structure which is
needed when the driver is loaded/initialized and unloaded was marked as
__initdata. This was perfectly safe, because compiled-in kernel drivers
are never unloaded, and currently, for modules __initdata is ignored.

If at some point __initdata was honored for modules, then when it came
time to unload the module --- oops! System crash.

- Ted

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/