summaryrefslogtreecommitdiff
path: root/include/linux/cpu.h
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2002-11-10 17:08:07 -0800
committerAndy Grover <agrover@groveronline.com>2002-11-10 17:08:07 -0800
commitaa65be3f456be1ac4359f7fffeb7b4ae3c149419 (patch)
tree7deb9cf5ee0103545138396b83bc260092ab8240 /include/linux/cpu.h
parent850b830c9639af788e2917aed3aea8d8bb9da1a1 (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.h3
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_ */