Documentation/kernel-parameters.txt | 3 ++
drivers/oprofile/buffer_sync.c | 49 ++++++++++++++++++++++++++----------
drivers/oprofile/cpu_buffer.c | 6 +---
drivers/oprofile/event_buffer.h | 1
drivers/oprofile/oprof.c | 25 +++++++++++++-----
fs/dcookies.c | 6 ++++
6 files changed, 67 insertions(+), 23 deletions(-)
please apply
john
My previous fix was incomplete, we could get the same thing happening
on the init-failure path. Fix that.
diff -Naur -X dontdiff linux-cvs/drivers/oprofile/buffer_sync.c linux-me/drivers/oprofile/buffer_sync.c
--- linux-cvs/drivers/oprofile/buffer_sync.c 2003-05-26 03:20:20.000000000 +0100
+++ linux-me/drivers/oprofile/buffer_sync.c 2003-05-26 04:25:15.000000000 +0100
@@ -127,6 +127,14 @@
};
+static void end_sync_timer(void)
+{
+ del_timer_sync(&sync_timer);
+ /* timer might have queued work, make sure it's completed. */
+ flush_scheduled_work();
+}
+
+
int sync_start(void)
{
int err;
@@ -158,7 +166,7 @@
out2:
profile_event_unregister(EXIT_TASK, &exit_task_nb);
out1:
- del_timer_sync(&sync_timer);
+ end_sync_timer();
goto out;
}
@@ -169,9 +177,7 @@
profile_event_unregister(EXIT_TASK, &exit_task_nb);
profile_event_unregister(EXIT_MMAP, &exit_mmap_nb);
profile_event_unregister(EXEC_UNMAP, &exec_unmap_nb);
- del_timer_sync(&sync_timer);
- /* timer might have queued work, make sure it's completed. */
- flush_scheduled_work();
+ end_sync_timer();
}
-
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/