diff options
author | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2007-10-19 02:41:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-19 14:53:54 -0400 |
commit | 8256e47cdc8923e9959eb1d7f95d80da538add80 (patch) | |
tree | 4702aa3ad7c9025f70314f1146e551b4e1dfcbb2 /include/linux/module.h | |
parent | 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 (diff) |
Linux Kernel Markers
The marker activation functions sits in kernel/marker.c. A hash table is used
to keep track of the registered probes and armed markers, so the markers
within a newly loaded module that should be active can be activated at module
load time.
marker_query has been removed. marker_get_first, marker_get_next and
marker_release should be used as iterators on the markers.
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Acked-by: "Frank Ch. Eigler" <fche@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Mike Mason <mmlnx@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/module.h')
-rw-r--r-- | include/linux/module.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/module.h b/include/linux/module.h index 642f325e4917..2cbc0b87e329 100644 --- a/include/linux/module.h +++ b/include/linux/module.h | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/stringify.h> | 15 | #include <linux/stringify.h> |
16 | #include <linux/kobject.h> | 16 | #include <linux/kobject.h> |
17 | #include <linux/moduleparam.h> | 17 | #include <linux/moduleparam.h> |
18 | #include <linux/marker.h> | ||
18 | #include <asm/local.h> | 19 | #include <asm/local.h> |
19 | 20 | ||
20 | #include <asm/module.h> | 21 | #include <asm/module.h> |
@@ -354,6 +355,10 @@ struct module | |||
354 | /* The command line arguments (may be mangled). People like | 355 | /* The command line arguments (may be mangled). People like |
355 | keeping pointers to this stuff */ | 356 | keeping pointers to this stuff */ |
356 | char *args; | 357 | char *args; |
358 | #ifdef CONFIG_MARKERS | ||
359 | struct marker *markers; | ||
360 | unsigned int num_markers; | ||
361 | #endif | ||
357 | }; | 362 | }; |
358 | #ifndef MODULE_ARCH_INIT | 363 | #ifndef MODULE_ARCH_INIT |
359 | #define MODULE_ARCH_INIT {} | 364 | #define MODULE_ARCH_INIT {} |
@@ -457,6 +462,8 @@ int unregister_module_notifier(struct notifier_block * nb); | |||
457 | 462 | ||
458 | extern void print_modules(void); | 463 | extern void print_modules(void); |
459 | 464 | ||
465 | extern void module_update_markers(struct module *probe_module, int *refcount); | ||
466 | |||
460 | #else /* !CONFIG_MODULES... */ | 467 | #else /* !CONFIG_MODULES... */ |
461 | #define EXPORT_SYMBOL(sym) | 468 | #define EXPORT_SYMBOL(sym) |
462 | #define EXPORT_SYMBOL_GPL(sym) | 469 | #define EXPORT_SYMBOL_GPL(sym) |
@@ -556,6 +563,11 @@ static inline void print_modules(void) | |||
556 | { | 563 | { |
557 | } | 564 | } |
558 | 565 | ||
566 | static inline void module_update_markers(struct module *probe_module, | ||
567 | int *refcount) | ||
568 | { | ||
569 | } | ||
570 | |||
559 | #endif /* CONFIG_MODULES */ | 571 | #endif /* CONFIG_MODULES */ |
560 | 572 | ||
561 | struct device_driver; | 573 | struct device_driver; |