2006-10-29 Soren Sandmann * -=-=-=- Release sysprof 1.0.5 -=-=-=- * binfile.c (read_symbols): Store symbols in offsets into original file, not debug file. Fixes symbols when the debug binaries have different text offsets than the real binaries. 2006-10-29 Soren Sandmann * =-=-=-= Release sysprof 1.0.4 =-=-=-= * module/sysprof-module.c: Remove include of linux/config.h Sat Aug 12 16:27:13 2006 Søren Sandmann * module/sysprof-module.c (timer_notify): Bugfix for SMP kernel: Make n_samples a per-CPU variable. Protect timer_notify() with an atomic variable. 2006-06-08 Soren Sandmann * announce-1.0.3: Fix forgotten 1.0.2 -> 1.0.3. 2006-06-08 Soren Sandmann * =-=-=-= Release sysprof 1.0.3 =-=-=-= * configure.ac: Bump version number * announce-1.0.3: Add this file. * sysprof.c (RESET_DEAD_PERIOD): Increase this to 250 2006-06-05 Soren Sandmann * module/sysprof-module.c (init_module): Copy the proc_fops and update the poll entry in the copy, rather than writing directly to the proc_fops. Fixes compilation on the latest kernels. Thu Feb 23 21:37:21 2006 Soeren Sandmann * =-=-=-= Release sysprof 1.0.2 =-=-=-= * configure.ac: Bump version number * sysprof.c (on_about_activated): Update about box * announce-1.0.2: add this file Sun Jan 15 20:16:39 2006 Soeren Sandmann * module/sysprof-module.c: Add package version to spew. 2006-01-13 Søren Sandmann * module/sysprof-module.c (INTERVAL): Backport fix for HZ <= SAMPLES_PER_SECOND from HEAD. (Thomas de Grenier de Latour). Wed Jan 11 20:23:06 2006 Søren Sandmann * process.c (read_maps): Also make offset a gulong (Samuel Mimram). Mon Jan 9 09:56:46 2006 Soeren Sandmann * module/sysprof-module.c (timer_notify): Remove START_OF_STACK check. Mon Jan 9 00:53:35 2006 Soeren Sandmann * process.c (read_maps): Use gulong for addresses. Bug reported by Martin Reddy. Tue Dec 20 12:21:16 2005 Søren Sandmann * configure.ac: Add missing backslashes, pointed out by Ralph Siemsen. Mon Dec 19 15:46:27 2005 Søren Sandmann * =-=-=-= Release sysprof 1.0.1 =-=-=-= * configure.ac: Bump version numbers Mon Dec 19 15:39:52 2005 Søren Sandmann * module/sysprof-module.c (timer_notify): Make kernel module compile with recent kernels. Delete lots of commented out code. Sat Oct 29 14:43:00 2005 Søren Sandmann Fix crash pointed reported by Rudi Chiarito. * stackstash.c (stack_stash_add_trace): Just return if n_addrs is 0. * sysprof.c (on_read): Only trace if n_addresses != 0. Mon Oct 10 14:33:50 2005 Søren Sandmann * configure.ac: Add --disable-kernel-module option. Patch from Pascal Terjan. Sat Sep 17 14:35:32 2005 Soeren Sandmann * Bump version numbers * README: update * TODO: Updates Sun Sep 4 19:38:51 2005 Soeren Sandmann * TODO: Updates Tue Aug 30 16:57:33 2005 Søren Sandmann * configure.ac: Complain if we can't find /lib/modules/`uname -r`/build/Makefile. * process.c (process_lookup_symbol): Take an address of 0x1 to mean "in kernel". * module/sysprof-module.c (timer_notify): When reporting in-kernel time, give the current pid instead of -1. * TODO: updates Mon Aug 15 20:39:11 2005 Soeren Sandmann * binfile.c, process.c, profile.c: Fix some warnings. Mon Aug 1 23:49:51 2005 Soeren Sandmann * module/sysprof-module.c (REG_INS_PTR): Add support for amd64/x86-64. Patch from Mike Frysinger. Sun Jul 10 10:51:52 2005 Soeren Sandmann * binfile.c: Various minor clean-ups Sat Jul 9 23:20:39 2005 Soeren Sandmann * binfile.c (bin_file_new): Cache BinFiles by filename. * stackstash.c (stack_stash_free): Plug leak * process.c (process_free_maps): Plug leak * module/Makefile (install): Check that depmod exists before running it. Sun Jun 19 15:42:34 2005 Søren Sandmann * module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200. * sysprof.c (on_about_activated): Add version information * configure.ac: Bump version to 0.91 * README: Updates Sat Jun 18 22:45:04 2005 Søren Sandmann * TODO: Updates * configure.ac: Check for Linux 2.6.11 * process.c (get_pidname): Present pid=-1 as [kernel]. * module/sysprof-module.c: Use register_timer_hook() instead of a kernel timer. Set trace.pid to -1 if interrupt happens in kernel. Sun Jun 12 20:30:37 2005 Soeren Sandmann * sysprof.c (build_gui): Disable type-ahead search for all the tree views. * sysprof.c (on_object_selection_changed): Call it from here * sysprof.c (expand_descendants_tree): New function that determines what nodes to expand in the descendatns view. Sun Jun 12 13:37:15 2005 Soeren Sandmann * TODO: Updates Thu Jun 9 13:28:33 2005 Søren Sandmann * TODO: Updates Thu May 26 01:10:45 2005 Soeren Sandmann * sysprof.c (on_callers_row_activated): Grab focus on the callers view, not the descendants view. * sysprof.c (on_read): Add a short "dead" period after a reset, so that 'samples' will actually be 0 for a while. Mon May 23 01:37:26 2005 Soeren Sandmann * README: Remove comment about auto* stuff, link to http://www.daimi.au.dk/~sandmann/sysprof/ Sun May 23 16:10:00 2005 Soeren Sandmann -=-=-=-=-=- Release v. 0.9 -=-=-=-=-=- Sun May 22 21:06:36 2005 Soeren Sandmann * TODO: Updates Sat May 21 20:58:59 2005 Soeren Sandmann * TODO: update * sysprof.c (on_menu_item_activated): New function. * sysprof.c (build_gui): Hook up menu items. * module/sysprof-module.c (init_module): Remove module_init/exit as they cause build failure on kernels < 2.6.11. Sat May 21 00:59:38 2005 Søren Sandmann * TODO: update Wed May 18 22:21:52 2005 Søren Sandmann * module/sysprof-module.c: Remove ref-counting since it didn't actually do any good. * sysprof.c (load_module): Use g_spawn_command_line_sync() instaed of system(). Sun May 15 11:56:30 2005 Søren Sandmann * module/sysprof-module.c: First attempt at making module robust agains unloading when in use. Sun May 15 10:24:09 2005 Soeren Sandmann * Makefile.am, module/Makefile: Do more-or-less what the automake manual suggests about foreign subdirectories. Sat May 14 16:36:32 2005 Søren Sandmann * sysprof.c (set_application_title): Update the title bar on load/save * treeviewutils.c, sfile.c: Fix compiler warnings * Makefile.am: define PIXMAPDIR Sat May 14 15:49:52 2005 Søren Sandmann Auto*ify. * TODO: updates * AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files * module/Makefile: New file * module/sysprof-module.c, module/sysprof-module.h: Move these files to their own directy, as the kernel build system does not work very well with auto*. * sysprof.c, autogen.sh: Some auto* changes. Sun May 8 16:31:32 2005 Søren Sandmann * TODO: more updates * sysprof.c: Try loading the module before complaining Sun May 8 15:45:08 2005 Søren Sandmann * sysprof-module.c (do_generate): Restore lost wake_up(). * sfile.c: Comment out use of bz2. * Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR * sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here. * TODO: Updates. Sat May 7 13:57:17 2005 Søren Sandmann * sfile.c (sfile_output_free): Implement this function * sfile.c (sfile_input_free): Implement this function Fri May 6 23:38:48 2005 Søren Sandmann * sysprof-module.c (do_generate): Another desparate hack to try and prevent the oops. Sat Apr 30 16:57:23 2005 Soeren Sandmann * process.c (PAGE_SIZE): Use getpagesize() * TODO: More updates Sat Apr 30 15:44:12 2005 Søren Sandmann * TODO: Updates * sysprof-module.c (get_regs): Change the way we get registers for a task so that it works with 2.6.11 Sat Apr 23 19:17:18 2005 Søren Sandmann * TODO: Updates Sat Apr 23 19:12:52 2005 Søren Sandmann * profile.c: Store a pointer to the root of the call tree * profile.c (profile_load): Call sfile_input_free() * sfile.c (sformat_free): Implement this function Sat Apr 23 18:38:46 2005 Søren Sandmann * sfile.c (post_process_read_instructions): Check pointer types * sfile.c (post_process_instructions_recurse): Delete this unused function Sat Apr 23 17:49:33 2005 Søren Sandmann * sysprof-module.c (page_readable): New function to check if the page is readable before reading. Noop on kernel <= 2.6.11 * sysprof-module.c (get_mm, put_mm): New functions to confine #ifdefs. Sat Apr 23 17:48:22 2005 Søren Sandmann * Makefile (MODCFLAGS): Disable optimization as I suspect the oops is related to miscompilation. Fri Apr 22 00:09:16 2005 Soeren Sandmann * sysprof-module.c (read_user_space): On >= 2.6.11 check that the pages are present and readable before reading them. Tue Apr 19 23:26:45 2005 Kristian Høgsberg * Makefile (check): Add simple check target that runs a sanity check of the build environment. Sun Apr 17 00:20:41 2005 Soeren Sandmann * sysprof.c (on_open_clicked): Factor out some stuff in their own functions. * sysprof.c (load_file): Idle handler to load files given on the command line. * sysprof.c (main): If a filename is passed on the command line, load it in an idle handler. Sun Apr 17 00:19:03 2005 Soeren Sandmann * TODO: Updates Sat Apr 16 19:51:48 2005 Soeren Sandmann * sysprof-module.c (read_user_space): Read a whole page at a time. Sat Apr 16 14:15:55 2005 Soeren Sandmann * TODO: Update * sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and later use get_task_mm()/mmput() instead of directly accessing task->mm. Sat Apr 16 01:54:18 2005 Søren Sandmann * TODO: Add backtrace for kernel oops. Fri Apr 15 16:37:45 2005 Soeren Sandmann * TODO: updates * sysprof.c (sorry): If you hit profile when the module isn't loaded, pop up an annoying dialog. * sysprof-module.c: Clean-ups, remove various unused abstractions. Sat Apr 9 17:49:13 2005 Søren Sandmann * COPYING: Add a copy of the GPL Sat Apr 9 17:04:50 2005 Søren Sandmann * Makefile: Remove debug spew * *: Add copyright notices Fri Apr 8 21:30:02 2005 Søren Sandmann * TODO: More updates Fri Apr 8 20:48:58 2005 Søren Sandmann * sysprof.c (build_gui): Load the icon, hook up "about" activation. * sysprof.c (on_about_activated): New function. Show an about dialog. * sysprof.c (struct Application): Add an icon field * TODO: Updates * sysprof-icon.png: Icon, drawn by Diana Fong Tue Apr 5 23:01:02 2005 Søren Sandmann * binfile.c (read_symbols): Put back the weird loop, and stop pretending I understand this. This time use SEC_ALLOC instead of SEC_LOAD. Tue Apr 5 20:13:44 2005 Søren Sandmann * process.c (process_ensure_map): Add commented out debug spew. * process.c (process_lookup_symbol): Remove all should_offset() function and all references to it. * binfile.c (bin_file_lookup_symbol): Document that address must be in file coordinates. * binfile.c (read_symbols): Remove misguided code that tried to guess the load address of the file. Instead, do all computations in "file coordinates". Also fix a memory leak. Add commented out debug spew. * binfile.c (separate_debug_file_exists): Fix signedness Tue Apr 5 14:34:43 2005 Søren Sandmann * sysprof-module.c (x_access_process_vm): Make it compile with kernel 2.6.11 * TODO: updates Mon Apr 4 00:57:11 2005 Soeren Sandmann * sysprof.c: Busy cursors in many more places. * TODO: updates Sun Apr 3 23:28:45 2005 Soeren Sandmann * sysprof-module.c (do_generate): Re-schedule the timeout here instead of in on_timer(). * sysprof-module.c (on_timer): Only block tasks in the TASK_RUNNING state. Sun Apr 3 17:03:33 2005 Soeren Sandmann * sysprof-module.c (queue_generate_stack_trace): Put current process to sleep. * sysprof-module.c (do_generate): Wake up the traced process Thu Mar 31 23:09:09 2005 Soeren Sandmann * sysprof.c (build_gui): Remove stray % Thu Mar 31 21:18:13 2005 Søren Sandmann * treeviewutils.c (add_double_format_column): Right justify numbers * sysprof.c (build_gui): Add a space after the numbers * sysprof.c (on_callers_row_activated): Focus object view * sysprof.c (on_descendants_row_activated): Focus new descendants tree. Thu Mar 31 19:51:51 2005 Søren Sandmann * sysprof-module.c (do_generate): Walk all threads, not just all processes. * TODO: Add disk profiling ideas Thu Mar 31 00:19:47 2005 Soeren Sandmann * sysprof.c (set_busy): Make this function work * sysprof.c (on_profile_toggled): Use it here * sysprof.c (on_object_selection_changed): And here * profile.c (add_trace_to_tree): Use GPtrArrays instead of GHashTable and GList. Mon Mar 28 11:09:02 2005 Soeren Sandmann * TODO: updates Sat Mar 26 19:26:52 2005 Søren Sandmann * sysprof.c: Show the right number of samples afte Open; remove shadows from menu bars and toolbars; some other tweaks. Sat Mar 26 11:26:00 2005 Soeren Sandmann * TODO: Updates * sfile.c (add_string): Use g_markup_escape_text() to escape the string before adding it to the file. * sysprof.c (empty_file_descriptor): New function to make sure samples generated before profiling started are ignored. (set_busy): New commented out function to set a busy cursor. Fri Mar 25 21:31:08 2005 Søren Sandmann * sysprof.c (update_sensitivity): Comment out sensitivity of reset button. Fri Mar 25 21:25:31 2005 Søren Sandmann * sysprof.c (get_current_object): Return NULL if nothing is selected. Fri Mar 25 20:54:08 2005 Søren Sandmann * TODO: More updates Fri Mar 25 20:25:44 2005 Søren Sandmann * README: Require gtk+ 2.6 * treeviewutils.c (add_plain_text_column): Ellipsisize text columns. Fri Mar 25 19:39:24 2005 Søren Sandmann * TODO: Remove "loading and saving" * sysprof.glade: Add ellipsises to Open and Save menu items. * sysprof.c (overwrite_file): Add this function, cutted-and-pasted from evince. * sysprof.c (on_save_as_clicked, on_open_clicked): Use GtkFileChoosers to pick the names. * sysprof.c: Various GUI updates. Fri Mar 25 19:36:28 2005 Søren Sandmann * sfile.c (bz2_compress): Add this function Don't actually make any produce use of it. * profile.c (make_hash_table): Get rid of warning Thu Mar 24 19:09:33 2005 Søren Sandmann * sysprof.c: Various GUI updates * TODO: update * sfile.[ch] (sformat_new_optional): Add some notes about an "optional" construction. Wed Mar 23 00:04:07 2005 Soeren Sandmann Primitive loading and saving. * sysprof.c (on_open_clicked): Hook up loading. * sfile.c: Add a copy of g_file_replace() from glib CVS HEAD. * sfile.c (add_string): Escape and quote the string * sfile.c (sfile_load): Initialize current_instruction and instructions_by_location * sfile.c (post_process_instructions_recurse): Handle NULL pointers properly. * sfile.c (handle_begin_element, handle_end_element, handle_text): Move error handling here from state_transition_begin/text/end. * sfile.c (handle_text): Discard whitespace-only strings * sfile.c (sfile_get_pointer, sfile_get_integer, sfile_get_string): expect both begin, value, and end transitions. * sfile.c (hook_up_pointers): Only treat instructions as pointer values when they are. Handle NULL targets properly. * sfile.c (get_number): Fix a few read-freed-data bugs * profile.c (profile_load): Call sfile_end_get() for the profile; build the nodes_by_objects hash table. Build the call tree. * profile.c (create_format): Don't store next pointer, but do store total, self and toplevel. * profile.c (make_hash_table): New function to build nodes_by_object hashtable from loaded data Sat Mar 12 11:05:19 2005 Soeren Sandmann * sysprof-module.c: Fix small bug in add_timeout() * sysprof.c (build_gui): More descriptive tree labels * TODO: update Thu Mar 10 16:37:52 2005 Søren Sandmann * sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by Ian McIntosh. Mon Mar 7 14:47:09 2005 Søren Sandmann * README: Add note that you need to compile the module with the same compiler that compiled the kernel. Sun Mar 6 22:56:21 2005 Soeren Sandmann * sfile.c: Generate id's for objects and pointers. Sat Mar 5 01:09:33 2005 Soeren Sandmann * sfile.c: Bug fixes. Add actual generation. Fri Mar 4 13:47:13 2005 Søren Sandmann * sysprof.c: Remove include of non-existing tracing.h Thu Mar 3 23:48:13 2005 Soeren Sandmann * profile.c (profile_load): Write this function. * sfile.c: Add support for user defined record and list types. Simplify logic a lot. Wed Mar 2 23:39:50 2005 Soeren Sandmann * profile.[ch], sfile.[ch]: Experiment with a file-format-description format. * sysprof.c: Add commented out code using /proc/ based timeout. Fri Jan 21 11:23:54 2005 Søren Sandmann * README: Some updates - add note about SMP kernels. * sysprof-module.c: Go back to just sampling the current process. * ChangeLog: I guess these do make sense, so start one.