| From: |
| Rusty Russell <rusty@rustcorp.com.au> |
| To: |
| torvalds@transmeta.com |
| Subject: |
| [PATCH] Kernel Module Loader vs. v2.5.43 |
| Date: |
| Fri, 18 Oct 2002 21:32:43 +1000 |
| Cc: |
| linux-kernel@vger.kernel.org, Daniel Phillips <phillips@arcor.de>,
Roman Zippel <zippel@linux-m68k.org> |
Changes this version:
o Updated to 2.5.43
o Removes the "spurious failure" problem, which could
theoretically occur during a failed unload attempt. To do this, it
uses a very lightweight refcount machanism in try_module_get(), and a
complex machine-stopping maneuver on attempted unload. This solution
is inspired by discussions with Daniel Phillips.
o You can use "no_module_init;" instead of declaring an init function.
It passes stress testing on my dual x86 box.
The full set of patches are available on my web page:
http://www.kernel.org/pub/linux/kernel/people/rusty/patches
And as one convienent megapatch:
http://www.kernel.org/pub/linux/kernel/people/rusty/patches/module-x86-18-10-2002.2.5.43.diff.gz
Cheers!
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
D: This is an implementation of the in-kernel module loader extending
D: the try_inc_mod_count() primitive and making its use compulsory.
D: This has the benifit of simplicity, and similarity to the existing
D: scheme. To reduce the cost of the constant increments and
D: decrements, reference counters are lockless and per-cpu.
D:
D: Modversions, Module parameters and kallsyms are not supported in
D: this patch, they come in future patches. inter_module_get/put have been
D: eliminated: use symbol_get() and symbol_put().
D:
D: You will need the trivial replacement module utilities from:
D: http://www.kernel.org/pub/linux/people/rusty/module-init-tools-0.5.tar.gz