1 2007-03-02 Soren Sandmann <sandmann@daimi.au.dk>
3 * collector.c (collector_create_profile): Remove FIXME.
5 2007-03-02 Soren Sandman <sandmann@daimi.au.dk>
7 * process.c (free_process): Free the undefined symbol
9 2007-03-02 Soren Sandmann <sandmann@daimi.au.dk>
11 * process.c (process_get_vdso_bytes): Make a copy of the vdso
12 bytes to make valgrind a little quieter.
14 * binparser.c: Note to self: Save the file, *then* commit.
16 2007-03-02 Soren Sandmann <sandmann@daimi.au.dk>
18 Fix two leaks, both pointed out by Kjartan Maraas
20 * binparser.c (bin_parser_free): Free the record list
22 * elfparser.c (elf_parser_free): Free the symbol table.
24 2007-02-24 Soren Sandmann <sandmann@daimi.au.dk>
28 * binparser.[ch]: Get rid of BIN_UINTn types; replace with single
29 BIN_UINT, where the user must provide the width
31 * elfparser.c: Update to new binparser API
33 2007-02-24 Soren Sandman <sandmann@daimi.au.dk>
35 * binparser.[ch]: Switch to a simpler conceptual model.
36 * elfparser.c: Update to binparser API changes.
39 Fri Feb 9 16:53:29 2007 Søren Sandmann <sandmann@redhat.com>
41 * Update copyright notices
43 Fri Feb 9 16:16:34 2007 Søren Sandmann <sandmann@redhat.com>
45 * elfparser.c (struct ElfSym): Don't store the size of the symbol.
46 (elf_parser_lookup_symbol): Look it up here instaed.
48 * binfile.c (bin_file_free): Use pre-decrement instead of
50 (bin_file_check_inode): Clarify the warning a little
52 Mon Jan 22 17:42:29 2007 Søren Sandmann <sandmann@redhat.com>
55 * sysprof.c: Add a 32x32 version (also from Diana) of the icon.
57 Mon Jan 22 16:37:12 2007 Søren Sandmann <sandmann@redhat.com>
59 * sysprof-icon-16/24/48.png:
60 * sysprof.c: Add new icons from Diana.
62 2007-01-05 Behdad Esfahbod <behdad@gnome.org>
64 * module/Makefile: Correct $PWD usage, so make install works from
67 2006-12-09 Soren Sandmann <sandmann@daimi.au.dk>
69 * module/sysprof-module.c: Add forgotten put_cpu_var().
70 * sfile.c (build_instructions): Parse in chunks of 65536 to
73 2006-11-23 Soren Sandmann <sandmann@daimi.au.dk>
75 * process.c (read_maps): Set inode for vdso to 0.
77 * binfile.c (read_inode): Return -1 on error, 0 on vdso
78 (bin_file_new): Only read the inode if the file actually exists
80 (bin_file_check_inode): Return FALSE if there is no file.
82 2006-11-22 Soren Sandmann <sandmann@daimi.au.dk>
84 * sfile.c (sfile_load): Use GMappedFile instead
85 g_file_get_contents().
86 (build_instructions): Pass length instead of -1.
87 (sfile_output_save): Use g_file_set_contents() instead of
90 2006-11-22 Soren Sandmann <sandmann@daimi.au.dk>
92 * profile.c (add_trace_to_tree): Move match to front
93 (add_trace_to_tree): Break as soon as a recursive call is found.
95 * stackstash.c (do_callback): Manual tail call optimization.
97 2006-11-20 Soren Sandmann <sandmann@daimi.au.dk>
99 * sysprof.c (ensure_profile): reset the collector after generating
102 * stackstash.c (struct StackStash): Add cached_nodes and blocks.
103 (stack_node_new): Allocate stack nodes in blocks.
105 2006-11-19 Soren Sandmann <sandmann@redhat.com>
107 * profile.c (profile_load): Use stack allocated variables to avoid
108 taking addresses of bitfields.
110 * stackstash.h (struct StackNode): Store toplevel as bitfield
112 2006-11-19 Soren Sandmann <sandmann@redhat.com>
114 * profile.c (profile_load): Use stack_node_new() o
115 (profile_load): Use set_root() instead of new_from_root();
117 * stackstash.c (stack_stash_new_from_root): Delete this function
118 (stack_stash_set_root): Add this function
119 (stack_node_new): Export this function
121 2006-11-19 Soren Sandmann <sandmann@redhat.com>
123 * binparser.h: Declare bin_parser_free();
125 * elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on
128 * process.c (struct Process): Remove do_offset.
130 Thu Nov 9 17:55:24 2006 Søren Sandmann <sandmann@redhat.com>
134 Thu Nov 9 17:31:17 2006 Søren Sandmann <sandmann@redhat.com>
136 * binfile.c (get_debug_file): Start with "/usr", not
137 "usr". Pointed out by Tim Rowley.
139 * binparser.c (bin_parser_align): Pass byte_width on instead of
142 Thu Nov 9 16:47:35 2006 Søren Sandmann <sandmann@redhat.com>
144 Look in the correct directory for debug info files. (Tim Rowley)
146 * binfile.c (N_TRIES): Add this instead of hardcoding '3'
148 * binfile.c (get_debug_file): Also look in "/usr/lib/debug", in
149 addition to "$(libdir)/debug".
151 * binfile.c: Comment out the debug spew.
153 Thu Nov 9 16:17:11 2006 Søren Sandmann <sandmann@redhat.com>
155 * binfile.c: Add debug spew.
157 Thu Nov 9 16:01:47 2006 Søren Sandmann <sandmann@redhat.com>
159 * sysprof-text.c (main): Die immediately if the output file is a
162 * autogen.sh (DIE): Also work when automake-1.9 is installed.
164 2006-11-02 Soren Sandmann <sandmann@daimi.au.dk>
166 * sysprof.c (disable_g_slice): New function
168 * sysprof.c (main): Call it from here.
170 2006-11-02 Soren Sandmann <sandmann@daimi.au.dk>
174 * binparser.c (bin_parser_free): Add this function
176 * elfparser.c (elf_parser_free): Call bin_parser_free()
178 * sysprof.c (compute_text_width, add_text): Plug leaks
180 * collector.c (add_trace_to_stash): Copy n_addresses to a stack
181 variable instead of reading it out of the mmap'ed area all the
182 time. (That way if there is an overrun, we won't write too much
183 into the address array).
185 2006-10-26 Soren Sandmann <sandmann@daimi.au.dk>
187 * module/sysprof-module.h (struct SysprofStackTrace): Increase the
188 max number of addresses to 1021, reorganise SysprofMmapArea to
189 make the traces naturally page aligned.
193 2006-10-26 Soren Sandmann <sandmann@daimi.au.dk>
195 * collector.c (resolve_symbols): Combine processes with identical
198 2006-10-25 Soren Sandmann <sandmann@daimi.au.dk>
200 * profile.c (add_trace_to_tree): Make the pointer array static to
201 improve cache behavior and reduce calls to malloc().
203 * process.c (lookup_kernel_symbol): Remove obsolete comment.
205 2006-10-25 Soren Sandmann <sandmann@daimi.au.dk>
207 * process.c (free_maps): Take a pointer to a variable that will be
210 * process.c: Stop coalescing processes with the same cmdline.
214 2006-10-24 Soren Sandmann <sandmann@daimi.au.dk>
216 * process.c (page_size): replace PAGE_SIZE macro with this function.
218 * binfile.c: Remove obsolete comment.
220 2006-10-24 Soren Sandmann <sandmann@daimi.au.dk>
222 * process.c (struct Process): Use an array instead of list of
225 2006-10-23 Soren Sandmann <sandmann@daimi.au.dk>
227 * module/sysprof-module.c (init_module): Use PAGE_SIZE - 1 instead
230 2006-10-22 Soren Sandmann <sandmann@daimi.au.dk>
232 Communicate traces to userspace through shared memory instead of
235 * module/sysprof-module.c: Store the traces in a SysprofMmapArea.
236 (sysprof_mmap): Implement this method.
237 (sysprof_nopage): Implement this.
238 (sysprof_read): Just reset the tail pointer and return zero.
240 * module/sysprof-module.h (struct SysprofMmapArea): New
243 * collector.c (collector_stop): Unmap the device
244 (in_dead_period): New function
245 (on_read): Read the traces out of mmap()ed area instead of reading
246 them. Call read() to prevent poll() from firing.
247 (struct Collector): New members map_area and current.
249 * Makefile.am (insert-module): Prefix modprobe with /sbin
251 * collector.c (open_fd): mmap() the sysprof device.
253 2006-10-11 Soren Sandmann <sandmann@daimi.au.dk>
255 * profile.c (profile_list_callers): Skip nodes that don't have a
258 2006-10-09 Soren Sandmann <sandmann@daimi.au.dk>
260 * profile.c (profile_list_callers): Make this function return a
261 list of immediate callers again.
263 * sysprof.c (build_gui): Change label back to "Callers"
265 * process.c (get_kernel_symbols): Only attempt to read the kernel
268 2006-10-09 Soren Sandmann <sandmann@redhat.com>
270 * binfile.c (bin_file_get_inode): Remove this function
272 * binfile.c (bin_file_check_inode): New function. Only print inode
273 warning once per BinFile.
275 * process.c (process_get_vdso_bytes): Remove debug spew
277 2006-10-09 Soren Sandmann <ssp@localhost.localdomain>
279 * process.c (process_get_vdso_bytes): New function.
281 * elfparser.c (parser_new_from_data): export this function as
282 elf_parser_new_from_data().
284 * binfile.c (read_inode): Don't stat if filename is
285 '[vdso]'. Instead just return -1;
286 (bin_file_new): Use elf_parser_new_from_data() when the file is
289 * process.c (read_maps): Change the offset of the vdso map to 0
292 * elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
295 * binfile.c (find_separate_debug_file): Deal with cycles in the
298 * configure.ac: Set version to 1.1.0. Print warning about HEAD.
300 2006-10-08 Soren Sandmann <ssp@localhost.localdomain>
302 * binfile.c: Don't include bfd.h
304 2006-10-08 Soren Sandmann <sandmann@redhat.com>
306 * sysprof.c (process_options): New function to support --version option
308 2006-10-08 Soren Sandmann <sandmann@redhat.com>
310 * elfparser.c (struct ElfParser): Add a cache of the text section.
312 * binparser.c (struct BinParser): Add a cache of a bin record to
313 get rid of malloc()/free() overhead.
315 * elfparser.c (struct ElfSym): Cache the size of the symbol
317 2006-10-08 Soren Sandmann <sandmann@redhat.com>
319 * elfparser.c: Remove now unused load-address heuristic
321 * comment out debug spew
323 2006-10-08 Soren Sandmann <sandmann@redhat.com>
325 * elfparser.c (read_symbols): Use "SHT_DYNSYM" for ".dynsym".
327 2006-10-08 Soren Sandmann <sandmann@daimi.au.dk>
329 * binfile.c (find_separate_debug_file): Support _debuglink
332 * elfparser.c: Check that the sections have valid types before
335 2006-10-08 Soren Sandmann <sandmann@daimi.au.dk>
337 * Delete various debug spew
339 2006-10-07 Soren Sandmann <sandmann@daimi.au.dk>
341 Deal with address offsets. Address lookup is now:
343 - First convert the address to an offset into the file
344 - Then convert to an offset into the text segment
345 - Then add the load address of the text segment (found in the
347 - Then finally lookup the result in the symbol table.
349 * elfparser.c (elf_parser_get_text_offset): New function
351 * elfparser.c (elf_parser_lookup_symbol): Treat addresses as
352 offsets into the text segment.
354 * binfile.c (bin_file_new): Store the offset of the text section
355 of the actual binary (not the debug one)
357 (bin_file_lookup_symbol): Subtract text_offset before passing
358 address to elf parser.
360 * module/sysprof-module.c: Remove include of linux/config.h
362 2006-08-27 Soren Sandmann <sandmann@redhat.com>
364 * binparser.c: Remove old commented out code
365 * module/sysprof-module.c: Add commented out code accessing entire
368 2006-08-27 Soren Sandmann <sandmann@redhat.com>
370 * module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h
372 * elfparser.c (elf_parser_get_eh_frame): Add this function.
373 Remove some commented out code.
375 Sat Aug 26 19:05:51 2006 Søren Sandmann <sandmann@redhat.com>
377 * Formatting fixes in header files.
379 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
381 * elfparser.c: Update to new API
383 * binparser.h: Delete commented out declarations. Add new
386 * binparser.c: Delete ParserFrame, replace with one current
388 (convert_uint): Make static
389 (bin_parser_get_uint): Delete this function
390 (bin_parser_get_string): Change this function to use current
391 offset instead of frame offset.
392 (bin_parser_goto): New function
393 (bin_parser_align): New function
394 (bin_parser_get_uint32): New function
395 (bin_parser_begin): Delete this function
396 (bin_parser_end): Delete this function
397 (bin_parser_index): Delete this function
398 (bin_record_get_string_indirect): Make this function use _goto()
399 instead of _begin()/_end()
400 (bin_parser_get_offset): Make this function return current offset
402 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
404 * binparser.[ch]: Add new struct BinRecord. Comment out functions
405 related to formats. Add new functions to get fields out of
408 * elfparser.c: Update to new API.
410 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
412 * binparser.h: Add new bin_record() functions
413 * binparser.c: Implement them.
415 2006-08-22 Soren Sandmann <sandmann@daimi.au.dk>
417 * collector.c (unique_dup): Demangle instead of strdup.
419 2006-08-21 Soren Sandmann <sandmann@redhat.com>
422 (elf_parser_get_sym_name): Rename elf_sym_get_* to
423 elf_parser_get_sym_* and make these functions take a parser.
424 (parser_from_sym): Delete this function.
425 (elf_parser_new): Don't add to all_elf_parsers
426 (elf_parser_free): Don't remove from all_elf_parsers
427 (elf_parser_new): Rename to parser_new_from_file()
428 (elf_parser_new_from_file): Rename to elf_parser_new
430 * binfile.c: Update for new elfparser API
434 2006-08-21 Soren Sandmann <sandmann@redhat.com>
436 * binfile.c (struct BinFile): Add ref_count and filename
437 (bin_files): Add map from filenames to BinFiles
438 (bin_file_new): First look for BinFile in the cache.
439 (bin_file_free): If refcount reaches 0, remove BinFile from cache.
443 2006-08-21 Soren Sandmann <sandmann@redhat.com>
445 * process.c (process_lookup_symbol): Pass map->bin_file to
448 * binfile.h (bin_symbol_get_name): Add BinFile parameter
450 * elfparser.c (elf_demangle): Use options DMGL_PARAMS | DMGL_ANSI
454 * binfile.c: Rewrite this file to use ElfParser instead of libbfd.
456 * configure.ac: Drop dependencies on libbfd and libiberty.
458 2006-08-21 Soren Sandmann <sandmann@redhat.com>
462 * elfparser.c (elf_parser_lookup_symbol): Change sense of size
465 2006-08-20 Soren Sandmann <sandmann@redhat.com>
467 * elfparser.c (elf_parser_get_crc32): Initialize crc to 0xffffffff
468 and invert it before returning.
470 * elfparser.h: Declare elf_parser_get_debug_link()
472 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
474 * elfparser.c (elf_parser_get_load_address): Comment out debug spew.
475 (elf_parser_lookup_symbol): Add check that address is actually
476 within the bounds of the found function.
478 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
480 * process.h: Make process_lookup_symbol() return a string. Delete
481 process_lookup_symbol_with_filename().
483 * process.c (struct Process): Make "undefined" a string
484 (lookup_kernel_symbol): Return a string
485 (process_lookup_symbol): Return a string, not a symbol
487 * collector.c (unique_dup): Take a string instead of a
489 (lookup_symbol): Make sym a string instead of a Symbol.
491 * binfile.c (bin_symbol_get_name): New function.
493 * binfile.[ch] (struct BinSymbol): Rename Symbol to BinSymbol and
494 make it an opaque structure.
496 * binfile.[ch]: Remove unused symbol operations
498 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
500 * elfparser.c (elf_parser_new_from_file): New function
502 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
504 * elfparser.c (elf_parser_get_debug_link): New function
506 * elfparser.c: Delete SymbolTable typedef
508 * binparser.[ch] (bin_parser_get_data): New function
509 (bin_parser_get_length): New function
511 * elfparser.[ch] (elf_parser_get_crc32): New function
515 * elfparser.c (elf_parser_lookup_symbol): Offset passed in
516 addresses by the load address.
518 * elfparser.c (elf_parser_get_load_address): New function to
519 compute the load address of the beginning of the file.
521 2006-08-20 Soren Sandmann <sandmann@redhat.com>
523 * elfparser.c (elf_sym_get_name): Read the name out of the file
524 instead of out of the struct.
526 * elfparser.c (struct ElfSym): Store an offset instead of the
529 * elfparser.c (all_elf_parsers): Keep track of all elf parsers
532 2006-08-20 Soren Sandmann <sandmann@redhat.com>
534 * Makefile.am, demangle.c: New file, made out of files from
535 libiberty in binutils.
537 * binfile.c: Use the new sysprof_cplus_demangle() function
539 * elfparser.[ch]: Add code to lookup symbols. Add demangling
542 * testelf.c: Various tests
544 2006-08-19 Soren Sandmann <sandmann@redhat.com>
546 * elfparser.c: Many cleanups.
548 2006-08-16 Soren Sandmann <sandmann@redhat.com>
550 * testelf.c: Really add this file.
552 2006-08-15 Soren Sandmann <sandmann@redhat.com>
554 Add beginning of an ELF parser.
556 * binparser.[ch]: New files
557 * elfparser.[ch]: New files
558 * testelf.c: New file
559 * Makefile.am (testelf_SOURCES): Add new testelf program.
561 Sat Aug 12 16:13:05 2006 Søren Sandmann <sandmann@redhat.com>
563 * module/sysprof-module.c: Make n_samples per-cpu. Add an atomic
564 variable in_timer_notify and use it to lock out simultaneous timer
567 * stackstash.c (decorate_node): Make decorate_node() static
571 Fri Aug 11 11:41:15 2006 Søren Sandmann <sandmann@redhat.com>
575 2006-08-08 Soren Sandmann <ssp@localhost.localdomain>
577 * sysprof.c (main): Make the load_file() idle low priority to
578 avoid weird toolbar flash.
580 * TODO, NEWS, README: updates.
582 2006-07-31 Paolo Borelli <pborelli@katamail.com>
584 * sysprof.c (expand_descendants_tree): small cleanup.
586 2006-07-31 Soren Sandmann <sandmann@redhat.com>
588 * stackstash.[ch]: Add a destroy notifier to StackStash
590 * collector.c (collector_create_profile): Pass g_free as destroy
593 * collector.c (collector_reset): Pass NULL as destroy notifier
595 * profile.c (profile_load): Pass g_free here.
597 * profile.c (struct Profile): Remove unused "Node" typedef
599 * collector.c (resolve_symbols): Free the array here.
601 * TODO: various updates.
603 2006-07-30 Soren Sandmann <sandmann@redhat.com>
605 * signal-handler.c: Simplify this file a bit, and make it not rely
606 on atomic pointer writes.
608 2006-07-18 Bastien Nocera <hadess@hadess.net>
610 * configure.ac: we need at least glib 2.6.0 for the gstdio.h functions
612 2006-06-05 Soren Sandmann <sandmann@redhat.com>
616 Sat Apr 22 15:08:01 2006 Soeren Sandmann <sandmann@redhat.com>
619 * profile.c, sfile.c, sformat.c: Various formatting fixes.
621 Wed Apr 5 11:26:30 2006 Søren Sandmann <sandmann@redhat.com>
625 Mon Mar 27 23:04:30 2006 Soeren Sandmann <sandmann@redhat.com>
629 * sfile.c (handle_{begin,end}_element): Don't generate begin/end
630 instructions for value elements.
632 * sfile.c (build_instructions): Remove debugging spew.
634 Mon Mar 27 21:44:04 2006 Soeren Sandmann <sandmann@redhat.com>
636 * sformat.[ch]: New files containing a simplified and sanitized
637 version of the state machine and type system from sfile.c.
639 * sfile.c: Move the state machine and type management to separate
640 files. Make the amount of memory used during loading and saving
643 * stackstash.c (stack_stash_new_from_root): Make this function
644 store the root again.
646 Mon Mar 27 09:55:01 2006 Søren Sandmann <sandmann@redhat.com>
650 2006-03-11 Soren Sandmann <sandmann@redhat.com>
654 * stackstash.[ch]: Make stackstash refcounted
656 * collector.c, profile.c: Update for refcounted stackstash, plug
659 * collector.c (open_fd): Remove FIXME comment
661 2006-03-05 Soeren Sandmann <sandmann@redhat.com>
663 * sysprof-text.c, collector.c, sysprof.c: Do proper
666 Fri Mar 3 22:28:03 2006 Soeren Sandmann <sandmann@redhat.com>
668 * process.c (process_lookup_symbol): Check that the inodes match.
670 * binfile.c (read_symbols): Read the inode of the file
672 * binfile.c (read_symbols): Close the bfd if the symbol table
675 Thu Mar 2 22:54:37 2006 Soeren Sandmann <sandmann@redhat.com>
677 * treeviewutils.c (tree_view_foreach_visible): Handle NULL models.
679 * sysprof.glade, sysprof.c: Revert back to three pane layout.
681 2006-02-17 Bastien Nocera <hadess@hadess.net>
684 * module/sysprof-module.c: (timer_notify), (sysprof_open),
685 (sysprof_release): more ifdef's to make it work with Red Hat
686 Enterprise Linux 4's 2.6.9-based kernel
688 Sat Feb 4 23:53:05 2006 Søren Sandmann <sandmann@redhat.com>
690 * sysprof.glade: Remove ancestors pane in favor of radiobuttons in
693 * sysprof.c: Corresponding changes.
697 Wed Jan 25 11:24:04 2006 Søren Sandmann <sandmann@redhat.com>
701 Mon Jan 16 11:12:13 2006 Søren Sandmann <sandmann@redhat.com>
705 Sun Jan 15 20:22:20 2006 Soeren Sandmann <sandmann@redhat.com>
707 * module/sysprof-module.c (init_module): Print out sysprof version
710 Sun Jan 15 00:24:02 2006 Soeren Sandmann <sandmann@redhat.com>
714 * sysprof.c (build_gui): Rename 'callers' column 'ancestors'
716 * profile.c (profile_list_callers): Make this function list all
717 ancestors of the function. Also make it report correct numbers
720 * profile.c (profile_create_descendants): Remove debug spew
722 Sat Jan 14 18:24:43 2006 Soeren Sandmann <sandmann@redhat.com>
724 * configure.ac, Makefile.am: Only build GUI when the necessary
725 dependencies are found.
727 * sysprof.c (compute_text_width): Remove unused variable
729 * profile.c (build_object_list): Follow next instead of siblings.
731 Fri Jan 13 23:11:33 2006 Søren Sandmann <sandmann@redhat.com>
735 Fri Jan 13 22:59:48 2006 Soeren Sandmann <sandmann@redhat.com>
737 * module/sysprof-module.c (sysprof_open): Initialize retval.
739 * module/sysprof-module.c (sysprof_read): Copy contents of trace,
740 not tail to the buffer.
742 Wed Jan 11 20:31:11 2006 Søren Sandmann <sandmann@redhat.com>
744 * process.c (read_maps): Also make offset a gulong (Samuel Mimram)
746 Wed Jan 11 17:51:54 2006 Søren Sandmann <sandmann@redhat.com>
748 * collector.c: Remove debug spew.
752 Mon Jan 9 09:58:25 2006 Soeren Sandmann <sandmann@redhat.com>
754 * module/sysprof-module.c (timer_notify): Remove START_OF_STACK
757 Mon Jan 9 00:59:21 2006 Soeren Sandmann <sandmann@redhat.com>
759 * process.c (read_maps): Use gulong for addresses. Bug reported by
762 Sun Jan 8 03:22:22 2006 Soeren Sandmann <sandmann@redhat.com>
764 * process.c (process_flush_caches): Resurrect this function.
766 * collector.c (collector_reset): Call it from here
768 Sun Jan 8 02:19:34 2006 Soeren Sandmann <sandmann@redhat.com>
772 Thu Jan 5 17:52:10 2006 Søren Sandmann <sandmann@redhat.com>
774 * TODO: small updates
775 * sysprof.c: cosmetic updates
776 * module/sysprof-module.c: cosmetic updates
778 2005-12-20 Kristian Høgsberg <krh@redhat.com>
780 * module/sysprof-module.c: Remove left over debug print out and
781 add support for multiple clients (readers).
783 Tue Dec 20 16:03:29 2005 Soeren Sandmann <sandmann@redhat.com>
787 * sysprof-text.c (main): Make it try and load the module before
790 2005-12-20 Kristian Høgsberg <krh@redhat.com>
792 * Makefile.am: Dist and install udev rule.
794 * collector.c: (open_fd):
795 * sysprof-text.c: (no_module):
796 * sysprof.c: (on_start_toggled): Update device filename.
798 * 60-sysprof.rules: New udev rule file to set permissions for
801 * module/sysprof-module.c: Switch kernel module to use a misc char
802 device instead. Start and stop the timer on device open and
803 close instead of module load and unload.
805 Tue Dec 20 12:19:34 2005 Søren Sandmann <sandmann@redhat.com>
807 * configure.ac: Add backslashes, pointed out by Ralph Siemsen.
809 Mon Dec 19 17:39:09 2005 Søren Sandmann <sandmann@redhat.com>
811 * sysprof.c (add_text): Make the tree tree-shapeed.
813 Mon Dec 19 15:15:48 2005 Søren Sandmann <sandmann@redhat.com>
815 * module/sysprof-module.c (timer_notify): A few formatting
816 fixes. Hopefully make it work with x86-64.
818 2005-11-29 Soeren Sandmann <sandmann@redhat.com>
820 * sysprof.c (on_descendants_row_expanded_or_collapsed): New
821 function. Update screenshot window when rows are expanded and
824 2005-11-23 Soeren Sandmann <sandmann@redhat.com>
826 * sysprof.c (update_screenshot_window): Update the screenshot
829 Wed Nov 23 00:44:34 2005 Soeren Sandmann <sandmann@redhat.com>
831 * module/sysprof-module.c: Various cleanups
835 Tue Nov 22 23:38:09 2005 Soeren Sandmann <sandmann@redhat.com>
837 * module/sysprof-module.c: Remove unused pages_present()
840 2005-11-18 Matthias Clasen <mclasen@redhat.com>
842 * configure.ac: Make configure work.
844 2005-11-13 Soeren Sandmann <sandmann@redhat.com>
846 * process.c: Add some experimental (and unused) code to look up
849 Sat Nov 12 23:39:29 2005 Soeren Sandmann <sandmann@redhat.com>
851 * sysprof.c (set_sizes): Put the vertical splitter at 3/8 *
854 * configure.ac: Disable warning.
856 Sat Nov 12 19:44:43 2005 Søren Sandmann <sandmann@redhat.com>
858 * module/sysprof-module.c (read_frame): New function that uses
859 copy_from_user_inatomic() as check_user_pages_readable() has
860 disappeared in recent kernels.
862 * module/sysprof-module.c (timer_notify): Use it here.
866 * configure.ac: Change the wording of the CVS HEAD warning as this
867 change seems to also have fixed the lockup with rawhide kernels.
869 Wed Nov 9 00:24:11 2005 Soeren Sandmann <sandmann@redhat.com>
871 * treeviewutils.[ch]: Add new tree_view_foreach_visible()
874 * sysprof.c: Add update_screenshot_window() function.
876 Mon Nov 7 23:42:26 2005 Soeren Sandmann <sandmann@redhat.com>
878 * sysprof.c: Add beginning of a screenshot
881 * sysprof.glade: Add screenshot window plus menu items.
883 * stackstash.c: Remove unused function stack_node_list_leaves()
885 * xmlstore.c: Various crack
887 Sun Nov 6 23:03:49 2005 Soeren Sandmann <sandmann@redhat.com>
889 * profile.c (add_trace_to_tree): Test for !prev instead of !next.
891 Sun Nov 6 Soeren Sandmann <sandmann@redhat.com>
895 * collector.c (on_read): Only call back when a new sample actually
898 * collector.c (collector_stop): close the filedescriptor
900 * sysprof.c (on_start_toggled): Change sense of test.
902 * sysprof.c (ensure_profile): Stop the collector.
904 * sysprof.c (on_reset_clicked): Stop the collector when state
907 Sun Nov 6 18:31:23 2005 Soeren Sandmann <sandmann@redhat.com>
909 * stackstash.c (stack_stash_foreach):
910 * stackstash.c (stack_node_foreach_trace): Make these function
911 call back with GLists rather than GSLists.
913 * profile.c (add_trace_to_tree): Iterate backwards instead of
916 Sun Nov 6 17:06:52 2005 Soeren Sandmann <sandmann@redhat.com>
918 * profile.c (add_trace_to_tree): Turn this function into a
921 * stackstash.c (stack_node_foreach_trace): Make this function take
922 a StackFunction, and reimplement with do_callback().
924 Sat Nov 5 18:06:40 2005 Soeren Sandmann <sandmann@redhat.com>
926 * profile.c (profile_create_descendants): Use callbacks from
929 * stackstash.c (stack_node_foreach_trace): New function
930 * stackstash.c (do_node_callback): New function
932 Sat Nov 5 12:39:33 2005 Soeren Sandmann <sandmann@redhat.com>
934 * profile.c (add_trace_to_tree): Don't compute the total field.
936 * profile.h (struct ProfileDescendant): Remove 'total' field.
938 * sysprof.c: Delete DESCENDANTS_TOTAL column and everything
941 * profile.c: Remove commented out code
943 * sfile.c (handle_text): Don't copy the text
945 2005-11-04 Soren Sandmann <sandmann@redhat.com>
947 * collector.[ch]: Add copyright statement.
949 * collector.c (on_read): Handle time getting set backwards.
951 * collector.c: Remove unused empty_filedescriptor() function.
953 2005-11-03 Soren Sandmann <sandmann@redhat.com>
955 * configure.ac: Make the message about the kernel source package
956 more informative. Code from Kjetil Torgrim Homme.
958 * sysprof.c (on_start_toggled): Only delete the data if the
959 profiling can actually be started.
961 2005-11-01 Soeren Sandmann <sandmann@redhat.com>
963 * sysprof.c (on_start_toggled): Update GUI after showing error
966 * sysprof.glade: Rename File menu Profiler, move
967 Start/Profile/Reset here, delete View menu.
969 Mon Oct 31 23:41:33 2005 Soeren Sandmann <sandmann@redhat.com>
971 * stackstash.h (struct StackNode): Add "total" field.
973 * stackstash.c (stack_stash_add_trace): Keep track of the
976 * profile.c (profile_get_size): Sum the totals of the siblings
977 instead of all the children.
979 * profile.c (build_object_list): Correctly compute obj->self
981 * profile.c (profile_load): Don't ignore the node->total field.
983 * profile.c (serialize_call_tree): Save node->total instead of the
986 * profile.c (compute_total): Use n->total instead of computing it
989 * profile.c: Remove unused sum_children() function.
993 * process.c (process_get_from_pid): Plug leak.
995 Mon Oct 31 21:36:37 2005 Søren Sandmann <sandmann@redhat.com>
997 * sysprof.c (fill_main_list): free the profile objects.
999 * sysprof.c (struct Application): Remove unused variable.
1001 Mon Oct 31 00:22:58 2005 Soeren Sandmann <sandmann@redhat.com>
1003 * sysprof.c (set_application_title): Use APPLICATION_NAME macro
1005 * sysprof.c (load_file): Don't leak the FileOpenData
1009 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1011 * configure.ac, Makefile.am: Don't link sysprof-text to gtk+.
1013 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1015 * Merge stackstash-reorg branch into HEAD
1017 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1019 * Makefile.am, sysprof.c, sysprof-text.c, collector.[ch]: Rename
1020 profiler -> collector
1022 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1024 * profile.c (profile_load): Reenable loading.
1026 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1028 * profile.c (profile_save): Reenable saving.
1030 Sat Oct 29 21:37:42 2005 Soeren Sandmann <sandmann@redhat.com>
1032 * stackstash.c (stack_stash_foreach): Rename
1033 stack_stash_foreach_reversed() to stack_stash_foreach(). Delete
1034 the old, unused stack_stash_foreach().
1036 * stackstash.h: Remove stack_stash_foreach_reversed().
1038 * profiler.c: Use new name.
1040 Sat Oct 29 18:37:37 2005 Søren Sandmann <sandmann@redhat.com>
1044 Sat Oct 29 17:38:01 2005 Søren Sandmann <sandmann@redhat.com>
1046 * stackstash.[ch]: Add stack_stash_get_root().
1048 * profile.c (profile_get_size): Make this function work again.
1050 Sat Oct 29 16:58:22 2005 Søren Sandmann <sandmann@redhat.com>
1052 * profile.c: Delete all the obsolete stuff related to call tree.
1056 Sat Oct 29 16:52:32 2005 Søren Sandmann <sandmann@redhat.com>
1060 * profile.c: Comment out a lot of unused stuff. Also temporarily
1061 comment out loading and saving.
1063 Sat Oct 29 16:45:34 2005 Søren Sandmann <sandmann@redhat.com>
1065 * profile.c (compute_total): New function.
1067 * profile.c (profile_list_callers): Port this function over to use
1070 Sat Oct 29 16:22:28 2005 Søren Sandmann <sandmann@redhat.com>
1072 * profile.c (build_object_list): Make this function allocate
1075 * stackstash.[ch]: Add stack_stash_foreach_by_address()
1077 * profile.c (profile_get_objects): Use it here to reimplement
1078 profile_get_objects() in terms of the stackstash.
1080 Sat Oct 29 15:33:07 2005 Søren Sandmann <sandmann@redhat.com>
1082 * profile.c (profile_new): Add stash field to profile.
1084 * stackstash.[ch]: Add stack_node_list_leaves();
1086 * profile.c (profile_create_descendants): Port this function over
1087 to use StackNodes instead.
1089 Sat Oct 29 14:43:00 2005 Søren Sandmann <sandmann@redhat.com>
1091 Fix crash pointed reported by Rudi Chiarito.
1093 * stackstash.c (stack_stash_add_trace): Just return if
1096 * sysprof.c (on_read): Only trace if n_addresses != 0.
1098 Sat Oct 29 03:47:03 2005 Soeren Sandmann <sandmann@redhat.com>
1100 * profile.[ch], sysprof.c: Get rid of ProfileObject for callers
1105 Sat Oct 29 02:57:34 2005 Soeren Sandmann <sandmann@redhat.com>
1107 * stackstash.[ch]: Export the StackNode struct, add new
1108 nodes_by_data hashtable to StackStash object, keep track of
1109 whether objects are toplevels.
1111 * TODO: some updates.
1113 Sat Oct 29 14:29:55 2005 Søren Sandmann <sandmann@redhat.com>
1115 * README, TODO: updates
1117 Fri Oct 14 11:44:43 2005 Søren Sandmann <sandmann@redhat.com>
1119 * configure.ac: Add a warning about known bugs in the kernel
1120 module in this branch.
1124 Tue Oct 11 22:40:24 2005 Soeren Sandmann <sandmann@redhat.com>
1126 * module/sysprof-module.c (SAMPLES_PER_SECOND): Add back these
1127 constants, but this time make sure we won't divide by 0 or
1130 Mon Oct 10 22:50:57 2005 Soeren Sandmann <sandmann@redhat.com>
1132 * Merge in changes from HEAD
1134 Thu Oct 6 22:28:39 2005 Soeren Sandmann <sandmann@redhat.com>
1136 * stackstash.c (do_callback): Call stack func if node->size > 0,
1137 not if node->children != NULL
1138 * stackstash.c (do_reversed_callback): same
1139 * profile.c (generate_presentation_name): Delete this function
1140 * profile.c (generate_key): Delete this function.
1142 Wed Oct 5 23:57:08 2005 Soeren Sandmann <sandmann@redhat.com>
1146 * profile.c (generate_call_tree): Delete all the process stuff
1148 * profile.c (node_add_trace): Delete process argument
1150 * profile.c (lookup_profile_object): Don't generate a string key,
1151 just use the address directly.
1153 * profile.c (ensure_profile_object): Use the address as
1156 * profiler.c (profiler_create_profile): Pass in the resolved
1159 Sun Oct 2 21:08:16 2005 Soeren Sandmann <sandmann@redhat.com>
1161 * sysprof.c (on_delete): Work around glib bug 317775
1163 * sysprof-text.c (signal_handler): Work around glib bug 317775
1165 Sun Oct 2 16:31:37 2005 Soeren Sandmann <sandmann@redhat.com>
1167 * stackstash.c (stack_stash_foreach_reversed): Add this function
1169 * process.c: Add a per-process undefined symbol.
1171 * profiler.c (resolve_symbols): Add code to do symbol resolution
1176 Sat Oct 1 18:32:52 2005 Soeren Sandmann <sandmann@redhat.com>
1178 * profile.h, sysprof.c: Remove some unnecessary includes.
1180 Sat Oct 1 18:12:44 2005 Soeren Sandmann <sandmann@redhat.com>
1182 * profiler.[ch]: Add profiler_get_n_samples(); add unused
1183 empty_file_descriptor()
1185 * profile.h: Add include guards
1187 * process.[ch]: Delete process_flush_caches();
1189 * helper.[ch]: Remove these files
1191 * sysprof.c: Use the new profiler class.
1193 * sysprof-text.c: Use the new profiler class
1195 * Makefile.am: Various cleanups.
1197 Sat Oct 1 17:05:43 2005 Soeren Sandmann <sandmann@redhat.com>
1199 * profiler.[ch]: New files containing a profiler class with code
1200 that can be shared between gui and command line.
1202 * sysprof.c (main): Remove some commented out code
1204 * stackstash.c (do_callback): Store the trace on the stack instead
1205 of allocating it dynamically.
1207 Sat Oct 1 01:50:15 2005 Soeren Sandmann <sandmann@redhat.com>
1209 * stackstash.c (sstack_stash_add_trace): Simplify this function a
1212 * helper.c: Include "process.h"
1214 Sat Oct 1 01:29:06 2005 Soeren Sandmann <sandmann@redhat.com>
1216 * profile.c (generate_object_table, generate_call_tree): Don't
1217 take the process as an argument. Instead dig it out of the
1220 * helper.c (add_trace_to_stash): New file, that adds a stacktrace
1221 and a process to a stackstash.
1223 * stackstash.[ch]: Remove all traces of the concept of
1224 Process. Simplify stack_node_add_trace() somewhat.
1226 Mon Oct 10 22:49:03 2005 Soeren Sandmann <sandmann@redhat.com>
1228 * module/sysprof-module.c: Delete lots of commented-out code.
1230 Mon Oct 10 14:33:50 2005 Søren Sandmann <sandmann@redhat.com>
1232 * configure.ac: Add --disable-kernel-module option. Patch from
1235 Mon Oct 10 13:00:20 2005 Robert Love <rml@novell.com>
1237 * module/sysprof-module.c: Don't use INTERVAL or SAMPLES_PER_SECOND
1238 now that we use register_timer_hook(), which hits off the timer
1239 interrupt at HZ freqency (1/250 second on x86).
1241 Sat Oct 1 01:21:57 2005 Soeren Sandmann <sandmann@redhat.com>
1245 Wed Sep 28 12:08:32 2005 Søren Sandmann <sandmann@redhat.com>
1247 * sysprof-text.c: Add my name to the copyright statement
1249 Tue Sep 27 01:33:33 2005 Soeren Sandmann <sandmann@redhat.com>
1251 * process.c (process_lookup_symbol): If the address is 0x01, treat
1252 as kernel, regardless of whether we have a map for that address or
1255 * module/sysprof-module.c (timer_notify): Take a stack trace of
1256 the current process, even when we are in kernel mode. This way we
1257 can assign kernel activity to individual user space stacktraces.
1261 Sat Sep 24 14:41:23 2005 Soeren Sandmann <sandmann@redhat.com>
1263 * configure.ac: Bump version number to 1.1.0
1265 * signal-handler.c: Many, mostly cosmetic, cleanups
1267 * sysprof-text.c: uninstall signal handlers when exiting
1269 Sat Sep 24 00:01:42 2005 Soeren Sandmann <sandmann@redhat.com>
1271 * Nakefile.am, sysprof-text.c: New non-GUI version, written
1272 by Lorenzo Colitti, with some changes by me.
1274 * signal-handler.[ch]: New files that provide a way to get UNIX
1275 signals into a glib main loop.
1277 * README: add Lorenzo to credits
1279 Fri Sep 23 20:46:40 2005 Soeren Sandmann <sandmann@redhat.com>
1281 * sysprof.c (build_gui): If the glade file doesn't exists pop up
1282 an alert suggesting running 'make install'
1284 * sysprof.c: Remove some commented out code
1286 Sat Sep 17 14:35:32 2005 Soeren Sandmann <sandmann@redhat.com>
1288 * Release 1.0 (this comment was added post facto)
1290 * Bump version numbers
1294 Sun Sep 4 19:38:51 2005 Soeren Sandmann <sandmann@redhat.com>
1298 Tue Aug 30 16:57:33 2005 Søren Sandmann <sandmann@redhat.com>
1300 * configure.ac: Complain if we can't find /lib/modules/`uname
1303 * process.c (process_lookup_symbol): Take an address of 0x1 to
1306 * module/sysprof-module.c (timer_notify): When reporting in-kernel
1307 time, give the current pid instead of -1.
1311 Mon Aug 15 20:39:11 2005 Soeren Sandmann <sandmann@redhat.com>
1313 * binfile.c, process.c, profile.c: Fix some warnings.
1315 Mon Aug 1 23:49:51 2005 Soeren Sandmann <sandmann@redhat.com>
1317 * module/sysprof-module.c (REG_INS_PTR): Add support for
1318 amd64/x86-64. Patch from Mike Frysinger.
1320 Sun Jul 10 10:51:52 2005 Soeren Sandmann <sandmann@redhat.com>
1322 * binfile.c: Various minor clean-ups
1324 Sat Jul 9 23:20:39 2005 Soeren Sandmann <sandmann@redhat.com>
1326 * binfile.c (bin_file_new): Cache BinFiles by filename.
1328 * stackstash.c (stack_stash_free): Plug leak
1330 * process.c (process_free_maps): Plug leak
1332 * module/Makefile (install): Check that depmod exists before
1335 Sun Jun 19 15:42:34 2005 Søren Sandmann <sandmann@redhat.com>
1337 * module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200.
1339 * sysprof.c (on_about_activated): Add version information
1341 * configure.ac: Bump version to 0.91
1345 Sat Jun 18 22:45:04 2005 Søren Sandmann <sandmann@redhat.com>
1349 * configure.ac: Check for Linux 2.6.11
1351 * process.c (get_pidname): Present pid=-1 as [kernel].
1353 * module/sysprof-module.c: Use register_timer_hook() instead of
1354 a kernel timer. Set trace.pid to -1 if interrupt happens in
1357 Sun Jun 12 20:30:37 2005 Soeren Sandmann <sandmann@redhat.com>
1359 * sysprof.c (build_gui): Disable type-ahead search for all the
1362 * sysprof.c (on_object_selection_changed): Call it from here
1364 * sysprof.c (expand_descendants_tree): New function that
1365 determines what nodes to expand in the descendatns view.
1367 Sun Jun 12 13:37:15 2005 Soeren Sandmann <sandmann@redhat.com>
1371 Thu Jun 9 13:28:33 2005 Søren Sandmann <sandmann@redhat.com>
1375 Thu May 26 01:10:45 2005 Soeren Sandmann <sandmann@redhat.com>
1377 * sysprof.c (on_callers_row_activated): Grab focus on the callers
1378 view, not the descendants view.
1380 * sysprof.c (on_read): Add a short "dead" period after a reset,
1381 so that 'samples' will actually be 0 for a while.
1383 Mon May 23 01:37:26 2005 Soeren Sandmann <sandmann@redhat.com>
1385 * README: Remove comment about auto* stuff, link to
1387 http://www.daimi.au.dk/~sandmann/sysprof/
1389 Sun May 23 16:10:00 2005 Soeren Sandmann <sandmann@redhat.com>
1391 -=-=-=-=-=- Release v. 0.9 -=-=-=-=-=-
1393 Sun May 22 21:06:36 2005 Soeren Sandmann <sandmann@redhat.com>
1397 Sat May 21 20:58:59 2005 Soeren Sandmann <sandmann@redhat.com>
1401 * sysprof.c (on_menu_item_activated): New function.
1403 * sysprof.c (build_gui): Hook up menu items.
1405 * module/sysprof-module.c (init_module): Remove module_init/exit
1406 as they cause build failure on kernels < 2.6.11.
1408 Sat May 21 00:59:38 2005 Søren Sandmann <sandmann@redhat.com>
1412 Wed May 18 22:21:52 2005 Søren Sandmann <sandmann@redhat.com>
1414 * module/sysprof-module.c: Remove ref-counting since it didn't
1415 actually do any good.
1417 * sysprof.c (load_module): Use g_spawn_command_line_sync() instaed
1420 Sun May 15 11:56:30 2005 Søren Sandmann <sandmann@redhat.com>
1422 * module/sysprof-module.c: First attempt at making module robust
1423 agains unloading when in use.
1425 Sun May 15 10:24:09 2005 Soeren Sandmann <sandmann@redhat.com>
1427 * Makefile.am, module/Makefile: Do more-or-less what the automake
1428 manual suggests about foreign subdirectories.
1430 Sat May 14 16:36:32 2005 Søren Sandmann <sandmann@redhat.com>
1432 * sysprof.c (set_application_title): Update the title bar on
1435 * treeviewutils.c, sfile.c: Fix compiler warnings
1437 * Makefile.am: define PIXMAPDIR
1439 Sat May 14 15:49:52 2005 Søren Sandmann <sandmann@redhat.com>
1445 * AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files
1447 * module/Makefile: New file
1449 * module/sysprof-module.c, module/sysprof-module.h: Move these
1450 files to their own directy, as the kernel build system does not
1451 work very well with auto*.
1453 * sysprof.c, autogen.sh: Some auto* changes.
1455 Sun May 8 16:31:32 2005 Søren Sandmann <sandmann@redhat.com>
1457 * TODO: more updates
1459 * sysprof.c: Try loading the module before complaining
1461 Sun May 8 15:45:08 2005 Søren Sandmann <sandmann@redhat.com>
1463 * sysprof-module.c (do_generate): Restore lost wake_up().
1465 * sfile.c: Comment out use of bz2.
1467 * Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR
1469 * sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here.
1473 Sat May 7 13:57:17 2005 Søren Sandmann <sandmann@redhat.com>
1475 * sfile.c (sfile_output_free): Implement this function
1477 * sfile.c (sfile_input_free): Implement this function
1479 Fri May 6 23:38:48 2005 Søren Sandmann <sandmann@redhat.com>
1481 * sysprof-module.c (do_generate): Another desparate hack to try
1482 and prevent the oops.
1484 Sat Apr 30 16:57:23 2005 Soeren Sandmann <sandmann@redhat.com>
1486 * process.c (PAGE_SIZE): Use getpagesize()
1488 * TODO: More updates
1490 Sat Apr 30 15:44:12 2005 Søren Sandmann <sandmann@redhat.com>
1494 * sysprof-module.c (get_regs): Change the way we get registers for
1495 a task so that it works with 2.6.11
1497 Sat Apr 23 19:17:18 2005 Søren Sandmann <sandmann@redhat.com>
1501 Sat Apr 23 19:12:52 2005 Søren Sandmann <sandmann@redhat.com>
1503 * profile.c: Store a pointer to the root of the call tree
1505 * profile.c (profile_load): Call sfile_input_free()
1507 * sfile.c (sformat_free): Implement this function
1509 Sat Apr 23 18:38:46 2005 Søren Sandmann <sandmann@redhat.com>
1511 * sfile.c (post_process_read_instructions): Check pointer types
1513 * sfile.c (post_process_instructions_recurse): Delete this unused function
1515 Sat Apr 23 17:49:33 2005 Søren Sandmann <sandmann@redhat.com>
1517 * sysprof-module.c (page_readable): New function to check if the
1518 page is readable before reading. Noop on kernel <= 2.6.11
1520 * sysprof-module.c (get_mm, put_mm): New functions to confine
1523 Sat Apr 23 17:48:22 2005 Søren Sandmann <sandmann@redhat.com>
1525 * Makefile (MODCFLAGS): Disable optimization as I suspect
1526 the oops is related to miscompilation.
1528 Fri Apr 22 00:09:16 2005 Soeren Sandmann <sandmann@redhat.com>
1530 * sysprof-module.c (read_user_space): On >= 2.6.11 check that the
1531 pages are present and readable before reading them.
1533 Tue Apr 19 23:26:45 2005 Kristian Høgsberg <krh@bitplanet.net>
1535 * Makefile (check): Add simple check target that runs a sanity
1536 check of the build environment.
1538 Sun Apr 17 00:20:41 2005 Soeren Sandmann <sandmann@redhat.com>
1540 * sysprof.c (on_open_clicked): Factor out some stuff in their own
1543 * sysprof.c (load_file): Idle handler to load files given on the
1546 * sysprof.c (main): If a filename is passed on the command line,
1547 load it in an idle handler.
1549 Sun Apr 17 00:19:03 2005 Soeren Sandmann <sandmann@redhat.com>
1553 Sat Apr 16 19:51:48 2005 Soeren Sandmann <sandmann@redhat.com>
1555 * sysprof-module.c (read_user_space): Read a whole page at a time.
1557 Sat Apr 16 14:15:55 2005 Soeren Sandmann <sandmann@redhat.com>
1561 * sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and
1562 later use get_task_mm()/mmput() instead of directly accessing
1565 Sat Apr 16 01:54:18 2005 Søren Sandmann <sandmann@redhat.com>
1567 * TODO: Add backtrace for kernel oops.
1569 Fri Apr 15 16:37:45 2005 Soeren Sandmann <sandmann@redhat.com>
1573 * sysprof.c (sorry): If you hit profile when the module isn't
1574 loaded, pop up an annoying dialog.
1576 * sysprof-module.c: Clean-ups, remove various unused abstractions.
1578 Sat Apr 9 17:49:13 2005 Søren Sandmann <sandmann@redhat.com>
1580 * COPYING: Add a copy of the GPL
1582 Sat Apr 9 17:04:50 2005 Søren Sandmann <sandmann@redhat.com>
1584 * Makefile: Remove debug spew
1586 * *: Add copyright notices
1588 Fri Apr 8 21:30:02 2005 Søren Sandmann <sandmann@redhat.com>
1590 * TODO: More updates
1592 Fri Apr 8 20:48:58 2005 Søren Sandmann <sandmann@redhat.com>
1594 * sysprof.c (build_gui): Load the icon, hook up "about"
1597 * sysprof.c (on_about_activated): New function. Show an about
1600 * sysprof.c (struct Application): Add an icon field
1604 * sysprof-icon.png: Icon, drawn by Diana Fong
1606 Tue Apr 5 23:01:02 2005 Søren Sandmann <sandmann@redhat.com>
1608 * binfile.c (read_symbols): Put back the weird loop, and stop
1609 pretending I understand this. This time use SEC_ALLOC instead of
1612 Tue Apr 5 20:13:44 2005 Søren Sandmann <sandmann@redhat.com>
1614 * process.c (process_ensure_map): Add commented out debug spew.
1616 * process.c (process_lookup_symbol): Remove all should_offset()
1617 function and all references to it.
1619 * binfile.c (bin_file_lookup_symbol): Document that address must
1620 be in file coordinates.
1622 * binfile.c (read_symbols): Remove misguided code that tried to
1623 guess the load address of the file. Instead, do all computations
1624 in "file coordinates". Also fix a memory leak. Add commented out
1627 * binfile.c (separate_debug_file_exists): Fix signedness
1629 Tue Apr 5 14:34:43 2005 Søren Sandmann <sandmann@redhat.com>
1631 * sysprof-module.c (x_access_process_vm): Make it compile with
1636 Mon Apr 4 00:57:11 2005 Soeren Sandmann <sandmann@redhat.com>
1638 * sysprof.c: Busy cursors in many more places.
1642 Sun Apr 3 23:28:45 2005 Soeren Sandmann <sandmann@redhat.com>
1644 * sysprof-module.c (do_generate): Re-schedule the timeout here
1645 instead of in on_timer().
1647 * sysprof-module.c (on_timer): Only block tasks in the
1650 Sun Apr 3 17:03:33 2005 Soeren Sandmann <sandmann@redhat.com>
1652 * sysprof-module.c (queue_generate_stack_trace): Put current
1655 * sysprof-module.c (do_generate): Wake up the traced process
1657 Thu Mar 31 23:09:09 2005 Soeren Sandmann <sandmann@redhat.com>
1659 * sysprof.c (build_gui): Remove stray %
1661 Thu Mar 31 21:18:13 2005 Søren Sandmann <sandmann@redhat.com>
1663 * treeviewutils.c (add_double_format_column): Right justify numbers
1665 * sysprof.c (build_gui): Add a space after the numbers
1667 * sysprof.c (on_callers_row_activated): Focus object view
1669 * sysprof.c (on_descendants_row_activated): Focus new descendants
1672 Thu Mar 31 19:51:51 2005 Søren Sandmann <sandmann@redhat.com>
1674 * sysprof-module.c (do_generate): Walk all threads, not just all
1677 * TODO: Add disk profiling ideas
1679 Thu Mar 31 00:19:47 2005 Soeren Sandmann <sandmann@redhat.com>
1681 * sysprof.c (set_busy): Make this function work
1683 * sysprof.c (on_profile_toggled): Use it here
1685 * sysprof.c (on_object_selection_changed): And here
1687 * profile.c (add_trace_to_tree): Use GPtrArrays instead of
1688 GHashTable and GList.
1690 Mon Mar 28 11:09:02 2005 Soeren Sandmann <sandmann@redhat.com>
1694 Sat Mar 26 19:26:52 2005 Søren Sandmann <sandmann@redhat.com>
1696 * sysprof.c: Show the right number of samples afte Open; remove
1697 shadows from menu bars and toolbars; some other tweaks.
1699 Sat Mar 26 11:26:00 2005 Soeren Sandmann <sandmann@redhat.com>
1703 * sfile.c (add_string): Use g_markup_escape_text() to escape the
1704 string before adding it to the file.
1706 * sysprof.c (empty_file_descriptor): New function to make sure
1707 samples generated before profiling started are ignored.
1708 (set_busy): New commented out function to set a busy cursor.
1710 Fri Mar 25 21:31:08 2005 Søren Sandmann <sandmann@redhat.com>
1712 * sysprof.c (update_sensitivity): Comment out sensitivity of reset button.
1714 Fri Mar 25 21:25:31 2005 Søren Sandmann <sandmann@redhat.com>
1716 * sysprof.c (get_current_object): Return NULL if nothing is
1719 Fri Mar 25 20:54:08 2005 Søren Sandmann <sandmann@redhat.com>
1721 * TODO: More updates
1723 Fri Mar 25 20:25:44 2005 Søren Sandmann <sandmann@redhat.com>
1725 * README: Require gtk+ 2.6
1727 * treeviewutils.c (add_plain_text_column): Ellipsisize text columns.
1729 Fri Mar 25 19:39:24 2005 Søren Sandmann <sandmann@redhat.com>
1731 * TODO: Remove "loading and saving"
1733 * sysprof.glade: Add ellipsises to Open and Save menu items.
1735 * sysprof.c (overwrite_file): Add this function, cutted-and-pasted
1738 * sysprof.c (on_save_as_clicked, on_open_clicked): Use
1739 GtkFileChoosers to pick the names.
1741 * sysprof.c: Various GUI updates.
1743 Fri Mar 25 19:36:28 2005 Søren Sandmann <sandmann@redhat.com>
1745 * sfile.c (bz2_compress): Add this function Don't actually make
1746 any produce use of it.
1748 * profile.c (make_hash_table): Get rid of warning
1750 Thu Mar 24 19:09:33 2005 Søren Sandmann <sandmann@redhat.com>
1752 * sysprof.c: Various GUI updates
1756 * sfile.[ch] (sformat_new_optional): Add some notes about an
1757 "optional" construction.
1759 Wed Mar 23 00:04:07 2005 Soeren Sandmann <sandmann@redhat.com>
1761 Primitive loading and saving.
1763 * sysprof.c (on_open_clicked): Hook up loading.
1765 * sfile.c: Add a copy of g_file_replace() from glib CVS HEAD.
1767 * sfile.c (add_string): Escape and quote the string
1769 * sfile.c (sfile_load): Initialize current_instruction and
1770 instructions_by_location
1772 * sfile.c (post_process_instructions_recurse): Handle NULL
1775 * sfile.c (handle_begin_element, handle_end_element, handle_text):
1776 Move error handling here from state_transition_begin/text/end.
1778 * sfile.c (handle_text): Discard whitespace-only strings
1780 * sfile.c (sfile_get_pointer, sfile_get_integer,
1781 sfile_get_string): expect both begin, value, and end transitions.
1783 * sfile.c (hook_up_pointers): Only treat instructions as pointer
1784 values when they are. Handle NULL targets properly.
1786 * sfile.c (get_number): Fix a few read-freed-data bugs
1788 * profile.c (profile_load): Call sfile_end_get() for the profile;
1789 build the nodes_by_objects hash table. Build the call tree.
1791 * profile.c (create_format): Don't store next pointer, but do
1792 store total, self and toplevel.
1794 * profile.c (make_hash_table): New function to build
1795 nodes_by_object hashtable from loaded data
1797 Sat Mar 12 11:05:19 2005 Soeren Sandmann <sandmann@redhat.com>
1799 * sysprof-module.c: Fix small bug in add_timeout()
1800 * sysprof.c (build_gui): More descriptive tree labels
1803 Thu Mar 10 16:37:52 2005 Søren Sandmann <sandmann@redhat.com>
1805 * sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by
1808 Mon Mar 7 14:47:09 2005 Søren Sandmann <sandmann@redhat.com>
1810 * README: Add note that you need to compile the module with
1811 the same compiler that compiled the kernel.
1813 Sun Mar 6 22:56:21 2005 Soeren Sandmann <sandmann@redhat.com>
1815 * sfile.c: Generate id's for objects and pointers.
1817 Sat Mar 5 01:09:33 2005 Soeren Sandmann <sandmann@redhat.com>
1819 * sfile.c: Bug fixes. Add actual generation.
1821 Fri Mar 4 13:47:13 2005 Søren Sandmann <sandmann@redhat.com>
1823 * sysprof.c: Remove include of non-existing tracing.h
1825 Thu Mar 3 23:48:13 2005 Soeren Sandmann <sandmann@redhat.com>
1827 * profile.c (profile_load): Write this function.
1829 * sfile.c: Add support for user defined record and list types.
1830 Simplify logic a lot.
1832 Wed Mar 2 23:39:50 2005 Soeren Sandmann <sandmann@redhat.com>
1834 * profile.[ch], sfile.[ch]: Experiment with a
1835 file-format-description format.
1837 * sysprof.c: Add commented out code using /proc/ based
1840 Fri Jan 21 11:23:54 2005 Søren Sandmann <sandmann@redhat.com>
1842 * README: Some updates - add note about SMP kernels.
1844 * sysprof-module.c: Go back to just sampling the current
1847 * ChangeLog: I guess these do make sense, so start one.