Messages in this thread | | | Date | Sat, 11 Dec 1999 00:13:00 -0500 | From | "Theodore Y. Ts'o" <> | Subject | Re: [PATCH] Serial driver size reducing (2.3.29) |
| |
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/
| |