Re: [RFC] module fs or how to not break everything at once

From: Adam J. Richter (adam@yggdrasil.com)
Date: Thu Nov 21 2002 - 18:59:47 EST


        Here are some more comments on modfs or modules in general:

        4. Regarding what I said about leaving symbol tracking to
user space, I'd like to add a note about reliability. It is not
necessary for rmmod to reliably remove symbols from these tables.
insmod can check for symbols that map to places that are no longer
allocated to modules and remove stale symbols before attempting to
load a new module.

        5. You should not need to do anything special in modfs
to support init sections. That can be done by loading two separate
modules and then removing the one corresponding to an init section.

        6. For module_init functions, consider taking a pointer to
an array of init functions and a count. That would be compatible
with the system for built-in kernel object files, so it would
eliminate a difference in linux/include/init.h. You could also do
the same for module_exit functions. This change would also
allow linking .o's together more or less arbitrarily into single
modules, which would allow loading of modules that have reference
loops among them.

        7. Instead of module parameters, consider just supporting
__setup() declarations used in kernel objects. These would then
process a string that you'd pass. insmod might want to prepend the
contents of /proc/cmdline to that string so that people could pass
command lines at the boot prompt even if the driver they wanted to
talk to were a module. This change would eliminate another difference
between module and core kernel objects. Ultimately, I would like
eliminate any compilation difference between kernel and module
objects. This would allow deferring the decision about what should be
in modules and what should be in the kernel until link time. Not only
would this slightly simplify the build process and modules' source
code, but it would also allow binary distributions for a wider
variety of uses.

Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Milpitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
                         "Free Software For The Rest Of Us."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Nov 23 2002 - 22:00:38 EST