This requires an upgrade to oprofile 0.5.3. You can get it from
the website, or, for the impatient, here :
http://movementarian.org/oprofile-0.5.3.tar.gz
diff -Naur -X dontdiff linux-cvs/drivers/oprofile/buffer_sync.c linux-fixes/drivers/oprofile/buffer_sync.c
--- linux-cvs/drivers/oprofile/buffer_sync.c 2003-05-26 05:42:35.000000000 +0100
+++ linux-fixes/drivers/oprofile/buffer_sync.c 2003-06-12 02:05:19.000000000 +0100
@@ -274,12 +272,17 @@
add_event_entry(KERNEL_EXIT_SWITCH_CODE);
}
-static void add_user_ctx_switch(pid_t pid, unsigned long cookie)
+static void
+add_user_ctx_switch(struct task_struct const * task, unsigned long cookie)
{
add_event_entry(ESCAPE_CODE);
add_event_entry(CTX_SWITCH_CODE);
- add_event_entry(pid);
+ add_event_entry(task->pid);
add_event_entry(cookie);
+ /* Another code for daemon back-compat */
+ add_event_entry(ESCAPE_CODE);
+ add_event_entry(CTX_TGID_CODE);
+ add_event_entry(task->tgid);
}
@@ -446,7 +449,7 @@
mm = take_tasks_mm(new);
cookie = get_exec_dcookie(mm);
- add_user_ctx_switch(new->pid, cookie);
+ add_user_ctx_switch(new, cookie);
}
} else {
add_sample(mm, s, in_kernel);
diff -Naur -X dontdiff linux-cvs/drivers/oprofile/event_buffer.h linux-fixes/drivers/oprofile/event_buffer.h
--- linux-cvs/drivers/oprofile/event_buffer.h 2003-04-02 06:06:51.000000000 +0100
+++ linux-fixes/drivers/oprofile/event_buffer.h 2003-06-12 02:04:05.000000000 +0100
@@ -31,6 +31,7 @@
#define KERNEL_ENTER_SWITCH_CODE 4
#define KERNEL_EXIT_SWITCH_CODE 5
#define MODULE_LOADED_CODE 6
+#define CTX_TGID_CODE 7
/* add data to the event buffer */
void add_event_entry(unsigned long data);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/