summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--announce-1.0.861
-rw-r--r--configure.ac2
-rw-r--r--module/sysprof-module.c10
4 files changed, 76 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index db6b6c7..5cbadf7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-12-09 Soren Sandmann <sandmann@daimi.au.dk>
+
+ * =-=-=-= Release sysprof 1.0.8 =-=-=-=
+
+ * module/sysprof-module.c (timer_notify): Add forgotten
+ put_cpu_var().
+
2006-11-16 Soren Sandmann <sandmann@daimi.au.dk>
* =-=-=-= Release 1.0.7 =-=-=-=
diff --git a/announce-1.0.8 b/announce-1.0.8
new file mode 100644
index 0000000..e88475b
--- /dev/null
+++ b/announce-1.0.8
@@ -0,0 +1,61 @@
+Sysprof Linux Profiler v. 1.0.8
+
+
+* What is it?
+--------------------------
+
+Sysprof is a sampling system-wide CPU profiler for Linux.
+
+Sysprof uses a Linux kernel module to profile the entire system, not
+just an individual application. Sysprof handles threads and shared
+libraries, and applications do not have to be recompiled or
+instrumented. In fact they don't even have to be restarted.
+
+
+* Features:
+----------------------
+
+ - Profiles all running processes, not just a single application
+
+ - Call graph support showing time spent in each branch of the call tree
+
+ - Has a simple graphical interface
+
+ - Profiles can be loaded and saved
+
+ - Easy to use: Just insert the kernel module and start sysprof
+
+ - Supports Fedora debuginfo packages
+
+
+* Sysprof 1.0.8
+--------------------------
+
+ - Fix panic with preemptive kernels
+
+
+Please report bugs as well as success or failure stories to
+
+ sandmann@daimi au dk
+
+
+
+* Where can I get it?
+--------------------------------------------
+
+Home page:
+
+ http://www.daimi.au.dk/~sandmann/sysprof/
+
+Source code:
+
+ http://www.daimi.au.dk/~sandmann/sysprof/sysprof-1.0.8.tar.gz
+
+Sysprof requires
+
+ - Linux 2.6.11 or later, compiled with profiling support
+ - GTK+ 2.6
+ - libglade 2.5
+
+
+Søren
diff --git a/configure.ac b/configure.ac
index 225105d..96ba18b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ(2.54)
-AC_INIT([sysprof], [1.0.7])
+AC_INIT([sysprof], [1.0.8])
AC_CONFIG_SRCDIR(sysprof.glade)
AM_INIT_AUTOMAKE(no-define)
diff --git a/module/sysprof-module.c b/module/sysprof-module.c
index 698a8c0..cc4473e 100644
--- a/module/sysprof-module.c
+++ b/module/sysprof-module.c
@@ -111,8 +111,8 @@ read_frame (void *frame_pointer, StackFrame *frame)
if (__copy_from_user_inatomic (
frame, frame_pointer, sizeof (StackFrame)))
- return 2;
-
+ return 1;
+
return 0;
}
@@ -125,8 +125,12 @@ timer_notify (struct pt_regs *regs)
int i;
int is_user;
static atomic_t in_timer_notify = ATOMIC_INIT(1);
+ int n;
+
+ n = ++get_cpu_var(n_samples);
+ put_cpu_var(n_samples);
- if ((++get_cpu_var(n_samples) % INTERVAL) != 0)
+ if (n % INTERVAL != 0)
return 0;
/* 0: locked, 1: unlocked */