From 64b015875c2d5d12d9503604ad76721e76d9685b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Tue, 2 Nov 2004 15:48:04 +0000 Subject: [PATCH] *** empty log message *** --- README | 15 ++++++++++++++- sysprof-module.c | 16 ---------------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/README b/README index 1e9dc1b9..05a57fa9 100644 --- a/README +++ b/README @@ -8,6 +8,19 @@ program "sysprof". - You need gtk+ 2.4.0 or better, and you need libglade -- Thanks to Kristian Høgsberg, it now works on the 2.6 kernel. +- You need a 2.6 non-SMP kernel + +- It is known to be broken on SMP kernels. Patches gladly accepted. + +- The programs you want to profile should have debugging symbols, or + you won't get much useful information. + +- To get symbols from the X server, run sysprof as root (go figure). Søren + + + +Credits: + Kristian Høgsberg for the first port to 2.6 + diff --git a/sysprof-module.c b/sysprof-module.c index c0e903c5..b4e2389d 100644 --- a/sysprof-module.c +++ b/sysprof-module.c @@ -43,7 +43,6 @@ static struct timer_list timer; static void init_timeout (void) { - printk (KERN_ALERT "init timeout\n"); timer.function = on_timer; init_timer(&timer); } @@ -91,9 +90,6 @@ read_user_space (userspace_reader *reader, if (user_page == 0) return 0; - printk (KERN_ALERT "locking\n"); - spin_lock(&reader->task->mm->page_table_lock); - if (!reader->user_page || user_page != reader->user_page) { int found; struct page *page; @@ -107,19 +103,12 @@ read_user_space (userspace_reader *reader, 1, 0, 0, &page, NULL); if (!found) - { - printk (KERN_ALERT "unlocking\n"); - spin_unlock(&reader->task->mm->page_table_lock); return 0; - } reader->kernel_page = (unsigned long)kmap (page); reader->page = page; } - printk (KERN_ALERT "unlocking\n"); - spin_unlock(&reader->task->mm->page_table_lock); - if (get_user (res, (int *)(reader->kernel_page + (address - user_page))) != 0) return 0; @@ -211,8 +200,6 @@ do_generate (void *data) in_queue = 0; - printk (KERN_ALERT "do_generate\n"); - /* Make sure the task still exists */ for_each_process (p) if (p == task) @@ -221,7 +208,6 @@ do_generate (void *data) go_ahead: generate_stack_trace(task, head); - printk (KERN_ALERT "generated stack\n"); if (head++ == &stack_traces[N_TRACES - 1]) head = &stack_traces[0]; @@ -249,8 +235,6 @@ on_timer(unsigned long dong) ++n_ticks; - printk (KERN_ALERT "on timer\n"); - if (task && task->pid != 0) queue_generate_stack_trace (task);