diff options
| author | Rusty Russell <rusty@rustcorp.com.au> | 2002-11-10 17:08:07 -0800 |
|---|---|---|
| committer | Andy Grover <agrover@groveronline.com> | 2002-11-10 17:08:07 -0800 |
| commit | aa65be3f456be1ac4359f7fffeb7b4ae3c149419 (patch) | |
| tree | 7deb9cf5ee0103545138396b83bc260092ab8240 /include/linux/cpu.h | |
| parent | 850b830c9639af788e2917aed3aea8d8bb9da1a1 (diff) | |
[PATCH] In-kernel Module Loader
This is an implementation of the in-kernel module loader extending
the try_inc_mod_count() primitive and making its use compulsory.
This has the benifit of simplicity, and similarity to the existing
scheme. To reduce the cost of the constant increments and
decrements, reference counters are lockless and per-cpu.
Eliminated (coming in following patches):
o Modversions
o Module parameters
o kallsyms
o EXPORT_SYMBOL_GPL and MODULE_LICENCE checks
o DEVICE_TABLE support.
New features:
o Typesafe symbol_get/symbol_put
o Single "insert this module" syscall interface allows trivial userspace.
o Raceless loading and unloading
You will need the trivial replacement module utilities from:
http://ozlabs.org/~rusty/module-init-tools-0.6.tar.gz
Diffstat (limited to 'include/linux/cpu.h')
| -rw-r--r-- | include/linux/cpu.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 4cbab1066761..0cea32df8325 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -21,6 +21,7 @@ #include <linux/device.h> #include <linux/node.h> +#include <asm/semaphore.h> struct cpu { int node_id; /* The node which contains the CPU */ @@ -29,4 +30,6 @@ struct cpu { extern int register_cpu(struct cpu *, int, struct node *); +/* Stop CPUs going up and down. */ +extern struct semaphore cpucontrol; #endif /* _LINUX_CPU_H_ */ |
