diff options
author | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2008-04-24 11:03:54 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-26 19:36:40 +0200 |
commit | 3104c3ecef9b16898b335d4a74e9db88abd73c57 (patch) | |
tree | 29ce1255c8e4a151efe648cd3c6eb868476245a8 /kernel | |
parent | 33c8de9c440d8adb4d8c4c516345b9a738095f2d (diff) |
Linux Kernel Markers - Use Immediate Values
Make markers use immediate values.
Changelog :
- Use imv_* instead of immediate_*.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/marker.c | 8 | ||||
-rw-r--r-- | kernel/module.c | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/kernel/marker.c b/kernel/marker.c index 799ec68363ab..76e0fefaf249 100644 --- a/kernel/marker.c +++ b/kernel/marker.c @@ -23,6 +23,7 @@ #include <linux/rcupdate.h> #include <linux/marker.h> #include <linux/err.h> +#include <linux/immediate.h> extern struct marker __start___markers[]; extern struct marker __stop___markers[]; @@ -542,7 +543,7 @@ static int set_marker(struct marker_entry **entry, struct marker *elem, */ smp_wmb(); elem->ptype = (*entry)->ptype; - elem->state = active; + elem->state__imv = active; return 0; } @@ -556,7 +557,7 @@ static int set_marker(struct marker_entry **entry, struct marker *elem, static void disable_marker(struct marker *elem) { /* leave "call" as is. It is known statically. */ - elem->state = 0; + elem->state__imv = 0; elem->single.func = __mark_empty_function; /* Update the function before setting the ptype */ smp_wmb(); @@ -620,6 +621,9 @@ static void marker_update_probes(void) marker_update_probe_range(__start___markers, __stop___markers); /* Markers in modules. */ module_update_markers(); + /* Update immediate values */ + core_imv_update(); + module_imv_update(); } /** diff --git a/kernel/module.c b/kernel/module.c index 187dbcb54d70..a5b47406bcae 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -2052,6 +2052,7 @@ static struct module *load_module(void __user *umod, mod->markers + mod->num_markers); #endif #ifdef CONFIG_IMMEDIATE + /* Immediate values must be updated after markers */ imv_update_range(mod->immediate, mod->immediate + mod->num_immediate); #endif |