1 2007-11-16 Soren Sandmann <sandmann@daimi.au.dk>
5 * process.c (process_locate_map): Move map to front
7 * profile.c (profile_load): Ignore the toplevel field in the file
8 since we can compute it ourselves.
10 * stackstash.c (stack_stash_decorate): New function
12 * stackstash.c (stack_stash_add_trace): Decorate the tree lazily
13 instead of on each sample.
15 2007-10-22 Soren Sandmann <sandmann@daimi.au.dk>
17 * process.c (look_for_vmlinux): Use an array instead of a
18 list. Look for vmlinux in the source directory.
20 * elfparser.c (elf_parser_get_crc32): Only use MADV_DONTNEED if
21 the data is file-backed.
25 Various formatting fixes
27 2007-10-22 Soren Sandmann <sandmann@daimi.au.dk>
29 * profile.c (add_trace_to_tree): Make this a two-pass
30 algorithm, one pass to add the trace, and one to do the
33 2007-10-22 Soren Sandmann <sandmann@daimi.au.dk>
35 * sfile.c: Fix some spelling errors
37 * profile.[ch], sysprof.[ch]: Change "non_recursive" to
38 "cumulative" to match the UI
40 * profile.c (add_trace_to_tree): Add a couple of asserts.
44 2007-10-22 Soren Sandmann <sandmann@daimi.au.dk>
46 * elfparser.c (read_table): Don't discard weak symbols.
48 * elfparser.c (elf_parser_lookup_symbol): If the symbol has
49 unknown size, don't check that the address is in range.
51 2007-10-21 Soren Sandmann <sandmann@daimi.au.dk>
53 * module/Makefile: Remove CFLAGS reminiscence of 2.4 support.
55 2007-10-20 Soren Sandmann <sandmann@daimi.au.dk>
57 * collector.c (on_read): Call callback with an extra boolean
58 indicating whether the sample read was the first one
60 * collector.c (add_trace_to_stash): Allocate addresses on the
63 * sysprof.c (on_new_sample): Only call update_sensitivity() on the
66 * stackstash.c (stack_stash_add_trace): Move match to front
68 2007-09-16 Soren Sandmann <sandmann@daimi.au.dk>
70 * process.c (process_lookup_kernel_symbol): Add support for
71 looking up kernel symbols from /proc/kallsyms
73 * sysprof-text.c (dump_data): Print note that the file is being
76 * module/sysprof-module.[ch] (timer_notify): Send a copy of the
77 kernel stack to userspace.
79 * collector.c: Do kernel symbol lookups.
81 2007-08-26 Soren Sandmann <sandmann@daimi.au.dk>
83 * profile.c (profile_get_size): Compute the size by simply summing
84 the size of the siblings. They are toplevel by definition, and
85 this works if the siblings for some reason has the same address.
87 2007-08-26 Soren Sandmann <sandmann@daimi.au.dk>
89 * treeviewutils.c (process_iter): Reformat and fix various minor
92 2007-08-25 Soren Sandmann <sandmann@daimi.au.dk>
94 * treeviewutils.c (tree_view_set_model_with_default_sort): Work
95 around GTK+ bug 405625.
97 2007-08-04 Soren Sandmann <sandmann@daimi.au.dk>
99 * sysprof.c: Update to use new tree view API.
101 * treeviewutils.c: Do customized sorting to get default sort
102 orders on columns. Workaround for GTK+ bug 333791.
104 2007-03-24 Soren Sandmann <sandmann@daimi.au.dk>
106 * elfparser.c (elf_parser_get_crc32): madvise()
108 2007-03-24 Soren Sandmann <sandmann@daimi.au.dk>
110 * sysprof.c (update_screenshot_window): Update screenshot window
111 in an idle handler to deal with the case where someone presses
114 Mon Mar 5 16:55:39 2007 Søren Sandmann <sandmann@redhat.com>
116 * binfile.c (already_warned): New function. Only warn once about
119 2007-03-02 Soren Sandmann <sandmann@daimi.au.dk>
121 * sysprof-text.c (dump_data): Make this function static
123 2007-03-02 Soren Sandmann <sandmann@daimi.au.dk>
125 * collector.c (collector_create_profile): Remove FIXME.
127 2007-03-02 Soren Sandman <sandmann@daimi.au.dk>
129 * process.c (free_process): Free the undefined symbol
131 2007-03-02 Soren Sandmann <sandmann@daimi.au.dk>
133 * process.c (process_get_vdso_bytes): Make a copy of the vdso
134 bytes to make valgrind a little quieter.
136 * binparser.c: Note to self: Save the file, *then* commit.
138 2007-03-02 Soren Sandmann <sandmann@daimi.au.dk>
140 Fix two leaks, both pointed out by Kjartan Maraas
142 * binparser.c (bin_parser_free): Free the record list
144 * elfparser.c (elf_parser_free): Free the symbol table.
146 2007-02-24 Soren Sandmann <sandmann@daimi.au.dk>
150 * binparser.[ch]: Get rid of BIN_UINTn types; replace with single
151 BIN_UINT, where the user must provide the width
153 * elfparser.c: Update to new binparser API
155 2007-02-24 Soren Sandman <sandmann@daimi.au.dk>
157 * binparser.[ch]: Switch to a simpler conceptual model.
158 * elfparser.c: Update to binparser API changes.
161 Fri Feb 9 16:53:29 2007 Søren Sandmann <sandmann@redhat.com>
163 * Update copyright notices
165 Fri Feb 9 16:16:34 2007 Søren Sandmann <sandmann@redhat.com>
167 * elfparser.c (struct ElfSym): Don't store the size of the symbol.
168 (elf_parser_lookup_symbol): Look it up here instaed.
170 * binfile.c (bin_file_free): Use pre-decrement instead of
172 (bin_file_check_inode): Clarify the warning a little
174 Mon Jan 22 17:42:29 2007 Søren Sandmann <sandmann@redhat.com>
176 * sysprof-icon-32.png
177 * sysprof.c: Add a 32x32 version (also from Diana) of the icon.
179 Mon Jan 22 16:37:12 2007 Søren Sandmann <sandmann@redhat.com>
181 * sysprof-icon-16/24/48.png:
182 * sysprof.c: Add new icons from Diana.
184 2007-01-05 Behdad Esfahbod <behdad@gnome.org>
186 * module/Makefile: Correct $PWD usage, so make install works from
189 2006-12-09 Soren Sandmann <sandmann@daimi.au.dk>
191 * module/sysprof-module.c: Add forgotten put_cpu_var().
192 * sfile.c (build_instructions): Parse in chunks of 65536 to
195 2006-11-23 Soren Sandmann <sandmann@daimi.au.dk>
197 * process.c (read_maps): Set inode for vdso to 0.
199 * binfile.c (read_inode): Return -1 on error, 0 on vdso
200 (bin_file_new): Only read the inode if the file actually exists
202 (bin_file_check_inode): Return FALSE if there is no file.
204 2006-11-22 Soren Sandmann <sandmann@daimi.au.dk>
206 * sfile.c (sfile_load): Use GMappedFile instead
207 g_file_get_contents().
208 (build_instructions): Pass length instead of -1.
209 (sfile_output_save): Use g_file_set_contents() instead of
212 2006-11-22 Soren Sandmann <sandmann@daimi.au.dk>
214 * profile.c (add_trace_to_tree): Move match to front
215 (add_trace_to_tree): Break as soon as a recursive call is found.
217 * stackstash.c (do_callback): Manual tail call optimization.
219 2006-11-20 Soren Sandmann <sandmann@daimi.au.dk>
221 * sysprof.c (ensure_profile): reset the collector after generating
224 * stackstash.c (struct StackStash): Add cached_nodes and blocks.
225 (stack_node_new): Allocate stack nodes in blocks.
227 2006-11-19 Soren Sandmann <sandmann@redhat.com>
229 * profile.c (profile_load): Use stack allocated variables to avoid
230 taking addresses of bitfields.
232 * stackstash.h (struct StackNode): Store toplevel as bitfield
234 2006-11-19 Soren Sandmann <sandmann@redhat.com>
236 * profile.c (profile_load): Use stack_node_new() o
237 (profile_load): Use set_root() instead of new_from_root();
239 * stackstash.c (stack_stash_new_from_root): Delete this function
240 (stack_stash_set_root): Add this function
241 (stack_node_new): Export this function
243 2006-11-19 Soren Sandmann <sandmann@redhat.com>
245 * binparser.h: Declare bin_parser_free();
247 * elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on
250 * process.c (struct Process): Remove do_offset.
252 Thu Nov 9 17:55:24 2006 Søren Sandmann <sandmann@redhat.com>
256 Thu Nov 9 17:31:17 2006 Søren Sandmann <sandmann@redhat.com>
258 * binfile.c (get_debug_file): Start with "/usr", not
259 "usr". Pointed out by Tim Rowley.
261 * binparser.c (bin_parser_align): Pass byte_width on instead of
264 Thu Nov 9 16:47:35 2006 Søren Sandmann <sandmann@redhat.com>
266 Look in the correct directory for debug info files. (Tim Rowley)
268 * binfile.c (N_TRIES): Add this instead of hardcoding '3'
270 * binfile.c (get_debug_file): Also look in "/usr/lib/debug", in
271 addition to "$(libdir)/debug".
273 * binfile.c: Comment out the debug spew.
275 Thu Nov 9 16:17:11 2006 Søren Sandmann <sandmann@redhat.com>
277 * binfile.c: Add debug spew.
279 Thu Nov 9 16:01:47 2006 Søren Sandmann <sandmann@redhat.com>
281 * sysprof-text.c (main): Die immediately if the output file is a
284 * autogen.sh (DIE): Also work when automake-1.9 is installed.
286 2006-11-02 Soren Sandmann <sandmann@daimi.au.dk>
288 * sysprof.c (disable_g_slice): New function
290 * sysprof.c (main): Call it from here.
292 2006-11-02 Soren Sandmann <sandmann@daimi.au.dk>
296 * binparser.c (bin_parser_free): Add this function
298 * elfparser.c (elf_parser_free): Call bin_parser_free()
300 * sysprof.c (compute_text_width, add_text): Plug leaks
302 * collector.c (add_trace_to_stash): Copy n_addresses to a stack
303 variable instead of reading it out of the mmap'ed area all the
304 time. (That way if there is an overrun, we won't write too much
305 into the address array).
307 2006-10-26 Soren Sandmann <sandmann@daimi.au.dk>
309 * module/sysprof-module.h (struct SysprofStackTrace): Increase the
310 max number of addresses to 1021, reorganise SysprofMmapArea to
311 make the traces naturally page aligned.
315 2006-10-26 Soren Sandmann <sandmann@daimi.au.dk>
317 * collector.c (resolve_symbols): Combine processes with identical
320 2006-10-25 Soren Sandmann <sandmann@daimi.au.dk>
322 * profile.c (add_trace_to_tree): Make the pointer array static to
323 improve cache behavior and reduce calls to malloc().
325 * process.c (lookup_kernel_symbol): Remove obsolete comment.
327 2006-10-25 Soren Sandmann <sandmann@daimi.au.dk>
329 * process.c (free_maps): Take a pointer to a variable that will be
332 * process.c: Stop coalescing processes with the same cmdline.
336 2006-10-24 Soren Sandmann <sandmann@daimi.au.dk>
338 * process.c (page_size): replace PAGE_SIZE macro with this function.
340 * binfile.c: Remove obsolete comment.
342 2006-10-24 Soren Sandmann <sandmann@daimi.au.dk>
344 * process.c (struct Process): Use an array instead of list of
347 2006-10-23 Soren Sandmann <sandmann@daimi.au.dk>
349 * module/sysprof-module.c (init_module): Use PAGE_SIZE - 1 instead
352 2006-10-22 Soren Sandmann <sandmann@daimi.au.dk>
354 Communicate traces to userspace through shared memory instead of
357 * module/sysprof-module.c: Store the traces in a SysprofMmapArea.
358 (sysprof_mmap): Implement this method.
359 (sysprof_nopage): Implement this.
360 (sysprof_read): Just reset the tail pointer and return zero.
362 * module/sysprof-module.h (struct SysprofMmapArea): New
365 * collector.c (collector_stop): Unmap the device
366 (in_dead_period): New function
367 (on_read): Read the traces out of mmap()ed area instead of reading
368 them. Call read() to prevent poll() from firing.
369 (struct Collector): New members map_area and current.
371 * Makefile.am (insert-module): Prefix modprobe with /sbin
373 * collector.c (open_fd): mmap() the sysprof device.
375 2006-10-11 Soren Sandmann <sandmann@daimi.au.dk>
377 * profile.c (profile_list_callers): Skip nodes that don't have a
380 2006-10-09 Soren Sandmann <sandmann@daimi.au.dk>
382 * profile.c (profile_list_callers): Make this function return a
383 list of immediate callers again.
385 * sysprof.c (build_gui): Change label back to "Callers"
387 * process.c (get_kernel_symbols): Only attempt to read the kernel
390 2006-10-09 Soren Sandmann <sandmann@redhat.com>
392 * binfile.c (bin_file_get_inode): Remove this function
394 * binfile.c (bin_file_check_inode): New function. Only print inode
395 warning once per BinFile.
397 * process.c (process_get_vdso_bytes): Remove debug spew
399 2006-10-09 Soren Sandmann <ssp@localhost.localdomain>
401 * process.c (process_get_vdso_bytes): New function.
403 * elfparser.c (parser_new_from_data): export this function as
404 elf_parser_new_from_data().
406 * binfile.c (read_inode): Don't stat if filename is
407 '[vdso]'. Instead just return -1;
408 (bin_file_new): Use elf_parser_new_from_data() when the file is
411 * process.c (read_maps): Change the offset of the vdso map to 0
414 * elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
417 * binfile.c (find_separate_debug_file): Deal with cycles in the
420 * configure.ac: Set version to 1.1.0. Print warning about HEAD.
422 2006-10-08 Soren Sandmann <ssp@localhost.localdomain>
424 * binfile.c: Don't include bfd.h
426 2006-10-08 Soren Sandmann <sandmann@redhat.com>
428 * sysprof.c (process_options): New function to support --version option
430 2006-10-08 Soren Sandmann <sandmann@redhat.com>
432 * elfparser.c (struct ElfParser): Add a cache of the text section.
434 * binparser.c (struct BinParser): Add a cache of a bin record to
435 get rid of malloc()/free() overhead.
437 * elfparser.c (struct ElfSym): Cache the size of the symbol
439 2006-10-08 Soren Sandmann <sandmann@redhat.com>
441 * elfparser.c: Remove now unused load-address heuristic
443 * comment out debug spew
445 2006-10-08 Soren Sandmann <sandmann@redhat.com>
447 * elfparser.c (read_symbols): Use "SHT_DYNSYM" for ".dynsym".
449 2006-10-08 Soren Sandmann <sandmann@daimi.au.dk>
451 * binfile.c (find_separate_debug_file): Support _debuglink
454 * elfparser.c: Check that the sections have valid types before
457 2006-10-08 Soren Sandmann <sandmann@daimi.au.dk>
459 * Delete various debug spew
461 2006-10-07 Soren Sandmann <sandmann@daimi.au.dk>
463 Deal with address offsets. Address lookup is now:
465 - First convert the address to an offset into the file
466 - Then convert to an offset into the text segment
467 - Then add the load address of the text segment (found in the
469 - Then finally lookup the result in the symbol table.
471 * elfparser.c (elf_parser_get_text_offset): New function
473 * elfparser.c (elf_parser_lookup_symbol): Treat addresses as
474 offsets into the text segment.
476 * binfile.c (bin_file_new): Store the offset of the text section
477 of the actual binary (not the debug one)
479 (bin_file_lookup_symbol): Subtract text_offset before passing
480 address to elf parser.
482 * module/sysprof-module.c: Remove include of linux/config.h
484 2006-08-27 Soren Sandmann <sandmann@redhat.com>
486 * binparser.c: Remove old commented out code
487 * module/sysprof-module.c: Add commented out code accessing entire
490 2006-08-27 Soren Sandmann <sandmann@redhat.com>
492 * module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h
494 * elfparser.c (elf_parser_get_eh_frame): Add this function.
495 Remove some commented out code.
497 Sat Aug 26 19:05:51 2006 Søren Sandmann <sandmann@redhat.com>
499 * Formatting fixes in header files.
501 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
503 * elfparser.c: Update to new API
505 * binparser.h: Delete commented out declarations. Add new
508 * binparser.c: Delete ParserFrame, replace with one current
510 (convert_uint): Make static
511 (bin_parser_get_uint): Delete this function
512 (bin_parser_get_string): Change this function to use current
513 offset instead of frame offset.
514 (bin_parser_goto): New function
515 (bin_parser_align): New function
516 (bin_parser_get_uint32): New function
517 (bin_parser_begin): Delete this function
518 (bin_parser_end): Delete this function
519 (bin_parser_index): Delete this function
520 (bin_record_get_string_indirect): Make this function use _goto()
521 instead of _begin()/_end()
522 (bin_parser_get_offset): Make this function return current offset
524 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
526 * binparser.[ch]: Add new struct BinRecord. Comment out functions
527 related to formats. Add new functions to get fields out of
530 * elfparser.c: Update to new API.
532 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
534 * binparser.h: Add new bin_record() functions
535 * binparser.c: Implement them.
537 2006-08-22 Soren Sandmann <sandmann@daimi.au.dk>
539 * collector.c (unique_dup): Demangle instead of strdup.
541 2006-08-21 Soren Sandmann <sandmann@redhat.com>
544 (elf_parser_get_sym_name): Rename elf_sym_get_* to
545 elf_parser_get_sym_* and make these functions take a parser.
546 (parser_from_sym): Delete this function.
547 (elf_parser_new): Don't add to all_elf_parsers
548 (elf_parser_free): Don't remove from all_elf_parsers
549 (elf_parser_new): Rename to parser_new_from_file()
550 (elf_parser_new_from_file): Rename to elf_parser_new
552 * binfile.c: Update for new elfparser API
556 2006-08-21 Soren Sandmann <sandmann@redhat.com>
558 * binfile.c (struct BinFile): Add ref_count and filename
559 (bin_files): Add map from filenames to BinFiles
560 (bin_file_new): First look for BinFile in the cache.
561 (bin_file_free): If refcount reaches 0, remove BinFile from cache.
565 2006-08-21 Soren Sandmann <sandmann@redhat.com>
567 * process.c (process_lookup_symbol): Pass map->bin_file to
570 * binfile.h (bin_symbol_get_name): Add BinFile parameter
572 * elfparser.c (elf_demangle): Use options DMGL_PARAMS | DMGL_ANSI
576 * binfile.c: Rewrite this file to use ElfParser instead of libbfd.
578 * configure.ac: Drop dependencies on libbfd and libiberty.
580 2006-08-21 Soren Sandmann <sandmann@redhat.com>
584 * elfparser.c (elf_parser_lookup_symbol): Change sense of size
587 2006-08-20 Soren Sandmann <sandmann@redhat.com>
589 * elfparser.c (elf_parser_get_crc32): Initialize crc to 0xffffffff
590 and invert it before returning.
592 * elfparser.h: Declare elf_parser_get_debug_link()
594 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
596 * elfparser.c (elf_parser_get_load_address): Comment out debug spew.
597 (elf_parser_lookup_symbol): Add check that address is actually
598 within the bounds of the found function.
600 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
602 * process.h: Make process_lookup_symbol() return a string. Delete
603 process_lookup_symbol_with_filename().
605 * process.c (struct Process): Make "undefined" a string
606 (lookup_kernel_symbol): Return a string
607 (process_lookup_symbol): Return a string, not a symbol
609 * collector.c (unique_dup): Take a string instead of a
611 (lookup_symbol): Make sym a string instead of a Symbol.
613 * binfile.c (bin_symbol_get_name): New function.
615 * binfile.[ch] (struct BinSymbol): Rename Symbol to BinSymbol and
616 make it an opaque structure.
618 * binfile.[ch]: Remove unused symbol operations
620 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
622 * elfparser.c (elf_parser_new_from_file): New function
624 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
626 * elfparser.c (elf_parser_get_debug_link): New function
628 * elfparser.c: Delete SymbolTable typedef
630 * binparser.[ch] (bin_parser_get_data): New function
631 (bin_parser_get_length): New function
633 * elfparser.[ch] (elf_parser_get_crc32): New function
637 * elfparser.c (elf_parser_lookup_symbol): Offset passed in
638 addresses by the load address.
640 * elfparser.c (elf_parser_get_load_address): New function to
641 compute the load address of the beginning of the file.
643 2006-08-20 Soren Sandmann <sandmann@redhat.com>
645 * elfparser.c (elf_sym_get_name): Read the name out of the file
646 instead of out of the struct.
648 * elfparser.c (struct ElfSym): Store an offset instead of the
651 * elfparser.c (all_elf_parsers): Keep track of all elf parsers
654 2006-08-20 Soren Sandmann <sandmann@redhat.com>
656 * Makefile.am, demangle.c: New file, made out of files from
657 libiberty in binutils.
659 * binfile.c: Use the new sysprof_cplus_demangle() function
661 * elfparser.[ch]: Add code to lookup symbols. Add demangling
664 * testelf.c: Various tests
666 2006-08-19 Soren Sandmann <sandmann@redhat.com>
668 * elfparser.c: Many cleanups.
670 2006-08-16 Soren Sandmann <sandmann@redhat.com>
672 * testelf.c: Really add this file.
674 2006-08-15 Soren Sandmann <sandmann@redhat.com>
676 Add beginning of an ELF parser.
678 * binparser.[ch]: New files
679 * elfparser.[ch]: New files
680 * testelf.c: New file
681 * Makefile.am (testelf_SOURCES): Add new testelf program.
683 Sat Aug 12 16:13:05 2006 Søren Sandmann <sandmann@redhat.com>
685 * module/sysprof-module.c: Make n_samples per-cpu. Add an atomic
686 variable in_timer_notify and use it to lock out simultaneous timer
689 * stackstash.c (decorate_node): Make decorate_node() static
693 Fri Aug 11 11:41:15 2006 Søren Sandmann <sandmann@redhat.com>
697 2006-08-08 Soren Sandmann <ssp@localhost.localdomain>
699 * sysprof.c (main): Make the load_file() idle low priority to
700 avoid weird toolbar flash.
702 * TODO, NEWS, README: updates.
704 2006-07-31 Paolo Borelli <pborelli@katamail.com>
706 * sysprof.c (expand_descendants_tree): small cleanup.
708 2006-07-31 Soren Sandmann <sandmann@redhat.com>
710 * stackstash.[ch]: Add a destroy notifier to StackStash
712 * collector.c (collector_create_profile): Pass g_free as destroy
715 * collector.c (collector_reset): Pass NULL as destroy notifier
717 * profile.c (profile_load): Pass g_free here.
719 * profile.c (struct Profile): Remove unused "Node" typedef
721 * collector.c (resolve_symbols): Free the array here.
723 * TODO: various updates.
725 2006-07-30 Soren Sandmann <sandmann@redhat.com>
727 * signal-handler.c: Simplify this file a bit, and make it not rely
728 on atomic pointer writes.
730 2006-07-18 Bastien Nocera <hadess@hadess.net>
732 * configure.ac: we need at least glib 2.6.0 for the gstdio.h functions
734 2006-06-05 Soren Sandmann <sandmann@redhat.com>
738 Sat Apr 22 15:08:01 2006 Soeren Sandmann <sandmann@redhat.com>
741 * profile.c, sfile.c, sformat.c: Various formatting fixes.
743 Wed Apr 5 11:26:30 2006 Søren Sandmann <sandmann@redhat.com>
747 Mon Mar 27 23:04:30 2006 Soeren Sandmann <sandmann@redhat.com>
751 * sfile.c (handle_{begin,end}_element): Don't generate begin/end
752 instructions for value elements.
754 * sfile.c (build_instructions): Remove debugging spew.
756 Mon Mar 27 21:44:04 2006 Soeren Sandmann <sandmann@redhat.com>
758 * sformat.[ch]: New files containing a simplified and sanitized
759 version of the state machine and type system from sfile.c.
761 * sfile.c: Move the state machine and type management to separate
762 files. Make the amount of memory used during loading and saving
765 * stackstash.c (stack_stash_new_from_root): Make this function
766 store the root again.
768 Mon Mar 27 09:55:01 2006 Søren Sandmann <sandmann@redhat.com>
772 2006-03-11 Soren Sandmann <sandmann@redhat.com>
776 * stackstash.[ch]: Make stackstash refcounted
778 * collector.c, profile.c: Update for refcounted stackstash, plug
781 * collector.c (open_fd): Remove FIXME comment
783 2006-03-05 Soeren Sandmann <sandmann@redhat.com>
785 * sysprof-text.c, collector.c, sysprof.c: Do proper
788 Fri Mar 3 22:28:03 2006 Soeren Sandmann <sandmann@redhat.com>
790 * process.c (process_lookup_symbol): Check that the inodes match.
792 * binfile.c (read_symbols): Read the inode of the file
794 * binfile.c (read_symbols): Close the bfd if the symbol table
797 Thu Mar 2 22:54:37 2006 Soeren Sandmann <sandmann@redhat.com>
799 * treeviewutils.c (tree_view_foreach_visible): Handle NULL models.
801 * sysprof.glade, sysprof.c: Revert back to three pane layout.
803 2006-02-17 Bastien Nocera <hadess@hadess.net>
806 * module/sysprof-module.c: (timer_notify), (sysprof_open),
807 (sysprof_release): more ifdef's to make it work with Red Hat
808 Enterprise Linux 4's 2.6.9-based kernel
810 Sat Feb 4 23:53:05 2006 Søren Sandmann <sandmann@redhat.com>
812 * sysprof.glade: Remove ancestors pane in favor of radiobuttons in
815 * sysprof.c: Corresponding changes.
819 Wed Jan 25 11:24:04 2006 Søren Sandmann <sandmann@redhat.com>
823 Mon Jan 16 11:12:13 2006 Søren Sandmann <sandmann@redhat.com>
827 Sun Jan 15 20:22:20 2006 Soeren Sandmann <sandmann@redhat.com>
829 * module/sysprof-module.c (init_module): Print out sysprof version
832 Sun Jan 15 00:24:02 2006 Soeren Sandmann <sandmann@redhat.com>
836 * sysprof.c (build_gui): Rename 'callers' column 'ancestors'
838 * profile.c (profile_list_callers): Make this function list all
839 ancestors of the function. Also make it report correct numbers
842 * profile.c (profile_create_descendants): Remove debug spew
844 Sat Jan 14 18:24:43 2006 Soeren Sandmann <sandmann@redhat.com>
846 * configure.ac, Makefile.am: Only build GUI when the necessary
847 dependencies are found.
849 * sysprof.c (compute_text_width): Remove unused variable
851 * profile.c (build_object_list): Follow next instead of siblings.
853 Fri Jan 13 23:11:33 2006 Søren Sandmann <sandmann@redhat.com>
857 Fri Jan 13 22:59:48 2006 Soeren Sandmann <sandmann@redhat.com>
859 * module/sysprof-module.c (sysprof_open): Initialize retval.
861 * module/sysprof-module.c (sysprof_read): Copy contents of trace,
862 not tail to the buffer.
864 Wed Jan 11 20:31:11 2006 Søren Sandmann <sandmann@redhat.com>
866 * process.c (read_maps): Also make offset a gulong (Samuel Mimram)
868 Wed Jan 11 17:51:54 2006 Søren Sandmann <sandmann@redhat.com>
870 * collector.c: Remove debug spew.
874 Mon Jan 9 09:58:25 2006 Soeren Sandmann <sandmann@redhat.com>
876 * module/sysprof-module.c (timer_notify): Remove START_OF_STACK
879 Mon Jan 9 00:59:21 2006 Soeren Sandmann <sandmann@redhat.com>
881 * process.c (read_maps): Use gulong for addresses. Bug reported by
884 Sun Jan 8 03:22:22 2006 Soeren Sandmann <sandmann@redhat.com>
886 * process.c (process_flush_caches): Resurrect this function.
888 * collector.c (collector_reset): Call it from here
890 Sun Jan 8 02:19:34 2006 Soeren Sandmann <sandmann@redhat.com>
894 Thu Jan 5 17:52:10 2006 Søren Sandmann <sandmann@redhat.com>
896 * TODO: small updates
897 * sysprof.c: cosmetic updates
898 * module/sysprof-module.c: cosmetic updates
900 2005-12-20 Kristian Høgsberg <krh@redhat.com>
902 * module/sysprof-module.c: Remove left over debug print out and
903 add support for multiple clients (readers).
905 Tue Dec 20 16:03:29 2005 Soeren Sandmann <sandmann@redhat.com>
909 * sysprof-text.c (main): Make it try and load the module before
912 2005-12-20 Kristian Høgsberg <krh@redhat.com>
914 * Makefile.am: Dist and install udev rule.
916 * collector.c: (open_fd):
917 * sysprof-text.c: (no_module):
918 * sysprof.c: (on_start_toggled): Update device filename.
920 * 60-sysprof.rules: New udev rule file to set permissions for
923 * module/sysprof-module.c: Switch kernel module to use a misc char
924 device instead. Start and stop the timer on device open and
925 close instead of module load and unload.
927 Tue Dec 20 12:19:34 2005 Søren Sandmann <sandmann@redhat.com>
929 * configure.ac: Add backslashes, pointed out by Ralph Siemsen.
931 Mon Dec 19 17:39:09 2005 Søren Sandmann <sandmann@redhat.com>
933 * sysprof.c (add_text): Make the tree tree-shapeed.
935 Mon Dec 19 15:15:48 2005 Søren Sandmann <sandmann@redhat.com>
937 * module/sysprof-module.c (timer_notify): A few formatting
938 fixes. Hopefully make it work with x86-64.
940 2005-11-29 Soeren Sandmann <sandmann@redhat.com>
942 * sysprof.c (on_descendants_row_expanded_or_collapsed): New
943 function. Update screenshot window when rows are expanded and
946 2005-11-23 Soeren Sandmann <sandmann@redhat.com>
948 * sysprof.c (update_screenshot_window): Update the screenshot
951 Wed Nov 23 00:44:34 2005 Soeren Sandmann <sandmann@redhat.com>
953 * module/sysprof-module.c: Various cleanups
957 Tue Nov 22 23:38:09 2005 Soeren Sandmann <sandmann@redhat.com>
959 * module/sysprof-module.c: Remove unused pages_present()
962 2005-11-18 Matthias Clasen <mclasen@redhat.com>
964 * configure.ac: Make configure work.
966 2005-11-13 Soeren Sandmann <sandmann@redhat.com>
968 * process.c: Add some experimental (and unused) code to look up
971 Sat Nov 12 23:39:29 2005 Soeren Sandmann <sandmann@redhat.com>
973 * sysprof.c (set_sizes): Put the vertical splitter at 3/8 *
976 * configure.ac: Disable warning.
978 Sat Nov 12 19:44:43 2005 Søren Sandmann <sandmann@redhat.com>
980 * module/sysprof-module.c (read_frame): New function that uses
981 copy_from_user_inatomic() as check_user_pages_readable() has
982 disappeared in recent kernels.
984 * module/sysprof-module.c (timer_notify): Use it here.
988 * configure.ac: Change the wording of the CVS HEAD warning as this
989 change seems to also have fixed the lockup with rawhide kernels.
991 Wed Nov 9 00:24:11 2005 Soeren Sandmann <sandmann@redhat.com>
993 * treeviewutils.[ch]: Add new tree_view_foreach_visible()
996 * sysprof.c: Add update_screenshot_window() function.
998 Mon Nov 7 23:42:26 2005 Soeren Sandmann <sandmann@redhat.com>
1000 * sysprof.c: Add beginning of a screenshot
1003 * sysprof.glade: Add screenshot window plus menu items.
1005 * stackstash.c: Remove unused function stack_node_list_leaves()
1007 * xmlstore.c: Various crack
1009 Sun Nov 6 23:03:49 2005 Soeren Sandmann <sandmann@redhat.com>
1011 * profile.c (add_trace_to_tree): Test for !prev instead of !next.
1013 Sun Nov 6 Soeren Sandmann <sandmann@redhat.com>
1017 * collector.c (on_read): Only call back when a new sample actually
1020 * collector.c (collector_stop): close the filedescriptor
1022 * sysprof.c (on_start_toggled): Change sense of test.
1024 * sysprof.c (ensure_profile): Stop the collector.
1026 * sysprof.c (on_reset_clicked): Stop the collector when state
1029 Sun Nov 6 18:31:23 2005 Soeren Sandmann <sandmann@redhat.com>
1031 * stackstash.c (stack_stash_foreach):
1032 * stackstash.c (stack_node_foreach_trace): Make these function
1033 call back with GLists rather than GSLists.
1035 * profile.c (add_trace_to_tree): Iterate backwards instead of
1038 Sun Nov 6 17:06:52 2005 Soeren Sandmann <sandmann@redhat.com>
1040 * profile.c (add_trace_to_tree): Turn this function into a
1043 * stackstash.c (stack_node_foreach_trace): Make this function take
1044 a StackFunction, and reimplement with do_callback().
1046 Sat Nov 5 18:06:40 2005 Soeren Sandmann <sandmann@redhat.com>
1048 * profile.c (profile_create_descendants): Use callbacks from
1051 * stackstash.c (stack_node_foreach_trace): New function
1052 * stackstash.c (do_node_callback): New function
1054 Sat Nov 5 12:39:33 2005 Soeren Sandmann <sandmann@redhat.com>
1056 * profile.c (add_trace_to_tree): Don't compute the total field.
1058 * profile.h (struct ProfileDescendant): Remove 'total' field.
1060 * sysprof.c: Delete DESCENDANTS_TOTAL column and everything
1063 * profile.c: Remove commented out code
1065 * sfile.c (handle_text): Don't copy the text
1067 2005-11-04 Soren Sandmann <sandmann@redhat.com>
1069 * collector.[ch]: Add copyright statement.
1071 * collector.c (on_read): Handle time getting set backwards.
1073 * collector.c: Remove unused empty_filedescriptor() function.
1075 2005-11-03 Soren Sandmann <sandmann@redhat.com>
1077 * configure.ac: Make the message about the kernel source package
1078 more informative. Code from Kjetil Torgrim Homme.
1080 * sysprof.c (on_start_toggled): Only delete the data if the
1081 profiling can actually be started.
1083 2005-11-01 Soeren Sandmann <sandmann@redhat.com>
1085 * sysprof.c (on_start_toggled): Update GUI after showing error
1088 * sysprof.glade: Rename File menu Profiler, move
1089 Start/Profile/Reset here, delete View menu.
1091 Mon Oct 31 23:41:33 2005 Soeren Sandmann <sandmann@redhat.com>
1093 * stackstash.h (struct StackNode): Add "total" field.
1095 * stackstash.c (stack_stash_add_trace): Keep track of the
1098 * profile.c (profile_get_size): Sum the totals of the siblings
1099 instead of all the children.
1101 * profile.c (build_object_list): Correctly compute obj->self
1103 * profile.c (profile_load): Don't ignore the node->total field.
1105 * profile.c (serialize_call_tree): Save node->total instead of the
1108 * profile.c (compute_total): Use n->total instead of computing it
1111 * profile.c: Remove unused sum_children() function.
1115 * process.c (process_get_from_pid): Plug leak.
1117 Mon Oct 31 21:36:37 2005 Søren Sandmann <sandmann@redhat.com>
1119 * sysprof.c (fill_main_list): free the profile objects.
1121 * sysprof.c (struct Application): Remove unused variable.
1123 Mon Oct 31 00:22:58 2005 Soeren Sandmann <sandmann@redhat.com>
1125 * sysprof.c (set_application_title): Use APPLICATION_NAME macro
1127 * sysprof.c (load_file): Don't leak the FileOpenData
1131 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1133 * configure.ac, Makefile.am: Don't link sysprof-text to gtk+.
1135 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1137 * Merge stackstash-reorg branch into HEAD
1139 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1141 * Makefile.am, sysprof.c, sysprof-text.c, collector.[ch]: Rename
1142 profiler -> collector
1144 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1146 * profile.c (profile_load): Reenable loading.
1148 2005-10-30 Soren Sandmann <sandmann@redhat.com>
1150 * profile.c (profile_save): Reenable saving.
1152 Sat Oct 29 21:37:42 2005 Soeren Sandmann <sandmann@redhat.com>
1154 * stackstash.c (stack_stash_foreach): Rename
1155 stack_stash_foreach_reversed() to stack_stash_foreach(). Delete
1156 the old, unused stack_stash_foreach().
1158 * stackstash.h: Remove stack_stash_foreach_reversed().
1160 * profiler.c: Use new name.
1162 Sat Oct 29 18:37:37 2005 Søren Sandmann <sandmann@redhat.com>
1166 Sat Oct 29 17:38:01 2005 Søren Sandmann <sandmann@redhat.com>
1168 * stackstash.[ch]: Add stack_stash_get_root().
1170 * profile.c (profile_get_size): Make this function work again.
1172 Sat Oct 29 16:58:22 2005 Søren Sandmann <sandmann@redhat.com>
1174 * profile.c: Delete all the obsolete stuff related to call tree.
1178 Sat Oct 29 16:52:32 2005 Søren Sandmann <sandmann@redhat.com>
1182 * profile.c: Comment out a lot of unused stuff. Also temporarily
1183 comment out loading and saving.
1185 Sat Oct 29 16:45:34 2005 Søren Sandmann <sandmann@redhat.com>
1187 * profile.c (compute_total): New function.
1189 * profile.c (profile_list_callers): Port this function over to use
1192 Sat Oct 29 16:22:28 2005 Søren Sandmann <sandmann@redhat.com>
1194 * profile.c (build_object_list): Make this function allocate
1197 * stackstash.[ch]: Add stack_stash_foreach_by_address()
1199 * profile.c (profile_get_objects): Use it here to reimplement
1200 profile_get_objects() in terms of the stackstash.
1202 Sat Oct 29 15:33:07 2005 Søren Sandmann <sandmann@redhat.com>
1204 * profile.c (profile_new): Add stash field to profile.
1206 * stackstash.[ch]: Add stack_node_list_leaves();
1208 * profile.c (profile_create_descendants): Port this function over
1209 to use StackNodes instead.
1211 Sat Oct 29 14:43:00 2005 Søren Sandmann <sandmann@redhat.com>
1213 Fix crash pointed reported by Rudi Chiarito.
1215 * stackstash.c (stack_stash_add_trace): Just return if
1218 * sysprof.c (on_read): Only trace if n_addresses != 0.
1220 Sat Oct 29 03:47:03 2005 Soeren Sandmann <sandmann@redhat.com>
1222 * profile.[ch], sysprof.c: Get rid of ProfileObject for callers
1227 Sat Oct 29 02:57:34 2005 Soeren Sandmann <sandmann@redhat.com>
1229 * stackstash.[ch]: Export the StackNode struct, add new
1230 nodes_by_data hashtable to StackStash object, keep track of
1231 whether objects are toplevels.
1233 * TODO: some updates.
1235 Sat Oct 29 14:29:55 2005 Søren Sandmann <sandmann@redhat.com>
1237 * README, TODO: updates
1239 Fri Oct 14 11:44:43 2005 Søren Sandmann <sandmann@redhat.com>
1241 * configure.ac: Add a warning about known bugs in the kernel
1242 module in this branch.
1246 Tue Oct 11 22:40:24 2005 Soeren Sandmann <sandmann@redhat.com>
1248 * module/sysprof-module.c (SAMPLES_PER_SECOND): Add back these
1249 constants, but this time make sure we won't divide by 0 or
1252 Mon Oct 10 22:50:57 2005 Soeren Sandmann <sandmann@redhat.com>
1254 * Merge in changes from HEAD
1256 Thu Oct 6 22:28:39 2005 Soeren Sandmann <sandmann@redhat.com>
1258 * stackstash.c (do_callback): Call stack func if node->size > 0,
1259 not if node->children != NULL
1260 * stackstash.c (do_reversed_callback): same
1261 * profile.c (generate_presentation_name): Delete this function
1262 * profile.c (generate_key): Delete this function.
1264 Wed Oct 5 23:57:08 2005 Soeren Sandmann <sandmann@redhat.com>
1268 * profile.c (generate_call_tree): Delete all the process stuff
1270 * profile.c (node_add_trace): Delete process argument
1272 * profile.c (lookup_profile_object): Don't generate a string key,
1273 just use the address directly.
1275 * profile.c (ensure_profile_object): Use the address as
1278 * profiler.c (profiler_create_profile): Pass in the resolved
1281 Sun Oct 2 21:08:16 2005 Soeren Sandmann <sandmann@redhat.com>
1283 * sysprof.c (on_delete): Work around glib bug 317775
1285 * sysprof-text.c (signal_handler): Work around glib bug 317775
1287 Sun Oct 2 16:31:37 2005 Soeren Sandmann <sandmann@redhat.com>
1289 * stackstash.c (stack_stash_foreach_reversed): Add this function
1291 * process.c: Add a per-process undefined symbol.
1293 * profiler.c (resolve_symbols): Add code to do symbol resolution
1298 Sat Oct 1 18:32:52 2005 Soeren Sandmann <sandmann@redhat.com>
1300 * profile.h, sysprof.c: Remove some unnecessary includes.
1302 Sat Oct 1 18:12:44 2005 Soeren Sandmann <sandmann@redhat.com>
1304 * profiler.[ch]: Add profiler_get_n_samples(); add unused
1305 empty_file_descriptor()
1307 * profile.h: Add include guards
1309 * process.[ch]: Delete process_flush_caches();
1311 * helper.[ch]: Remove these files
1313 * sysprof.c: Use the new profiler class.
1315 * sysprof-text.c: Use the new profiler class
1317 * Makefile.am: Various cleanups.
1319 Sat Oct 1 17:05:43 2005 Soeren Sandmann <sandmann@redhat.com>
1321 * profiler.[ch]: New files containing a profiler class with code
1322 that can be shared between gui and command line.
1324 * sysprof.c (main): Remove some commented out code
1326 * stackstash.c (do_callback): Store the trace on the stack instead
1327 of allocating it dynamically.
1329 Sat Oct 1 01:50:15 2005 Soeren Sandmann <sandmann@redhat.com>
1331 * stackstash.c (sstack_stash_add_trace): Simplify this function a
1334 * helper.c: Include "process.h"
1336 Sat Oct 1 01:29:06 2005 Soeren Sandmann <sandmann@redhat.com>
1338 * profile.c (generate_object_table, generate_call_tree): Don't
1339 take the process as an argument. Instead dig it out of the
1342 * helper.c (add_trace_to_stash): New file, that adds a stacktrace
1343 and a process to a stackstash.
1345 * stackstash.[ch]: Remove all traces of the concept of
1346 Process. Simplify stack_node_add_trace() somewhat.
1348 Mon Oct 10 22:49:03 2005 Soeren Sandmann <sandmann@redhat.com>
1350 * module/sysprof-module.c: Delete lots of commented-out code.
1352 Mon Oct 10 14:33:50 2005 Søren Sandmann <sandmann@redhat.com>
1354 * configure.ac: Add --disable-kernel-module option. Patch from
1357 Mon Oct 10 13:00:20 2005 Robert Love <rml@novell.com>
1359 * module/sysprof-module.c: Don't use INTERVAL or SAMPLES_PER_SECOND
1360 now that we use register_timer_hook(), which hits off the timer
1361 interrupt at HZ freqency (1/250 second on x86).
1363 Sat Oct 1 01:21:57 2005 Soeren Sandmann <sandmann@redhat.com>
1367 Wed Sep 28 12:08:32 2005 Søren Sandmann <sandmann@redhat.com>
1369 * sysprof-text.c: Add my name to the copyright statement
1371 Tue Sep 27 01:33:33 2005 Soeren Sandmann <sandmann@redhat.com>
1373 * process.c (process_lookup_symbol): If the address is 0x01, treat
1374 as kernel, regardless of whether we have a map for that address or
1377 * module/sysprof-module.c (timer_notify): Take a stack trace of
1378 the current process, even when we are in kernel mode. This way we
1379 can assign kernel activity to individual user space stacktraces.
1383 Sat Sep 24 14:41:23 2005 Soeren Sandmann <sandmann@redhat.com>
1385 * configure.ac: Bump version number to 1.1.0
1387 * signal-handler.c: Many, mostly cosmetic, cleanups
1389 * sysprof-text.c: uninstall signal handlers when exiting
1391 Sat Sep 24 00:01:42 2005 Soeren Sandmann <sandmann@redhat.com>
1393 * Nakefile.am, sysprof-text.c: New non-GUI version, written
1394 by Lorenzo Colitti, with some changes by me.
1396 * signal-handler.[ch]: New files that provide a way to get UNIX
1397 signals into a glib main loop.
1399 * README: add Lorenzo to credits
1401 Fri Sep 23 20:46:40 2005 Soeren Sandmann <sandmann@redhat.com>
1403 * sysprof.c (build_gui): If the glade file doesn't exists pop up
1404 an alert suggesting running 'make install'
1406 * sysprof.c: Remove some commented out code
1408 Sat Sep 17 14:35:32 2005 Soeren Sandmann <sandmann@redhat.com>
1410 * Release 1.0 (this comment was added post facto)
1412 * Bump version numbers
1416 Sun Sep 4 19:38:51 2005 Soeren Sandmann <sandmann@redhat.com>
1420 Tue Aug 30 16:57:33 2005 Søren Sandmann <sandmann@redhat.com>
1422 * configure.ac: Complain if we can't find /lib/modules/`uname
1425 * process.c (process_lookup_symbol): Take an address of 0x1 to
1428 * module/sysprof-module.c (timer_notify): When reporting in-kernel
1429 time, give the current pid instead of -1.
1433 Mon Aug 15 20:39:11 2005 Soeren Sandmann <sandmann@redhat.com>
1435 * binfile.c, process.c, profile.c: Fix some warnings.
1437 Mon Aug 1 23:49:51 2005 Soeren Sandmann <sandmann@redhat.com>
1439 * module/sysprof-module.c (REG_INS_PTR): Add support for
1440 amd64/x86-64. Patch from Mike Frysinger.
1442 Sun Jul 10 10:51:52 2005 Soeren Sandmann <sandmann@redhat.com>
1444 * binfile.c: Various minor clean-ups
1446 Sat Jul 9 23:20:39 2005 Soeren Sandmann <sandmann@redhat.com>
1448 * binfile.c (bin_file_new): Cache BinFiles by filename.
1450 * stackstash.c (stack_stash_free): Plug leak
1452 * process.c (process_free_maps): Plug leak
1454 * module/Makefile (install): Check that depmod exists before
1457 Sun Jun 19 15:42:34 2005 Søren Sandmann <sandmann@redhat.com>
1459 * module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200.
1461 * sysprof.c (on_about_activated): Add version information
1463 * configure.ac: Bump version to 0.91
1467 Sat Jun 18 22:45:04 2005 Søren Sandmann <sandmann@redhat.com>
1471 * configure.ac: Check for Linux 2.6.11
1473 * process.c (get_pidname): Present pid=-1 as [kernel].
1475 * module/sysprof-module.c: Use register_timer_hook() instead of
1476 a kernel timer. Set trace.pid to -1 if interrupt happens in
1479 Sun Jun 12 20:30:37 2005 Soeren Sandmann <sandmann@redhat.com>
1481 * sysprof.c (build_gui): Disable type-ahead search for all the
1484 * sysprof.c (on_object_selection_changed): Call it from here
1486 * sysprof.c (expand_descendants_tree): New function that
1487 determines what nodes to expand in the descendatns view.
1489 Sun Jun 12 13:37:15 2005 Soeren Sandmann <sandmann@redhat.com>
1493 Thu Jun 9 13:28:33 2005 Søren Sandmann <sandmann@redhat.com>
1497 Thu May 26 01:10:45 2005 Soeren Sandmann <sandmann@redhat.com>
1499 * sysprof.c (on_callers_row_activated): Grab focus on the callers
1500 view, not the descendants view.
1502 * sysprof.c (on_read): Add a short "dead" period after a reset,
1503 so that 'samples' will actually be 0 for a while.
1505 Mon May 23 01:37:26 2005 Soeren Sandmann <sandmann@redhat.com>
1507 * README: Remove comment about auto* stuff, link to
1509 http://www.daimi.au.dk/~sandmann/sysprof/
1511 Sun May 23 16:10:00 2005 Soeren Sandmann <sandmann@redhat.com>
1513 -=-=-=-=-=- Release v. 0.9 -=-=-=-=-=-
1515 Sun May 22 21:06:36 2005 Soeren Sandmann <sandmann@redhat.com>
1519 Sat May 21 20:58:59 2005 Soeren Sandmann <sandmann@redhat.com>
1523 * sysprof.c (on_menu_item_activated): New function.
1525 * sysprof.c (build_gui): Hook up menu items.
1527 * module/sysprof-module.c (init_module): Remove module_init/exit
1528 as they cause build failure on kernels < 2.6.11.
1530 Sat May 21 00:59:38 2005 Søren Sandmann <sandmann@redhat.com>
1534 Wed May 18 22:21:52 2005 Søren Sandmann <sandmann@redhat.com>
1536 * module/sysprof-module.c: Remove ref-counting since it didn't
1537 actually do any good.
1539 * sysprof.c (load_module): Use g_spawn_command_line_sync() instaed
1542 Sun May 15 11:56:30 2005 Søren Sandmann <sandmann@redhat.com>
1544 * module/sysprof-module.c: First attempt at making module robust
1545 agains unloading when in use.
1547 Sun May 15 10:24:09 2005 Soeren Sandmann <sandmann@redhat.com>
1549 * Makefile.am, module/Makefile: Do more-or-less what the automake
1550 manual suggests about foreign subdirectories.
1552 Sat May 14 16:36:32 2005 Søren Sandmann <sandmann@redhat.com>
1554 * sysprof.c (set_application_title): Update the title bar on
1557 * treeviewutils.c, sfile.c: Fix compiler warnings
1559 * Makefile.am: define PIXMAPDIR
1561 Sat May 14 15:49:52 2005 Søren Sandmann <sandmann@redhat.com>
1567 * AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files
1569 * module/Makefile: New file
1571 * module/sysprof-module.c, module/sysprof-module.h: Move these
1572 files to their own directy, as the kernel build system does not
1573 work very well with auto*.
1575 * sysprof.c, autogen.sh: Some auto* changes.
1577 Sun May 8 16:31:32 2005 Søren Sandmann <sandmann@redhat.com>
1579 * TODO: more updates
1581 * sysprof.c: Try loading the module before complaining
1583 Sun May 8 15:45:08 2005 Søren Sandmann <sandmann@redhat.com>
1585 * sysprof-module.c (do_generate): Restore lost wake_up().
1587 * sfile.c: Comment out use of bz2.
1589 * Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR
1591 * sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here.
1595 Sat May 7 13:57:17 2005 Søren Sandmann <sandmann@redhat.com>
1597 * sfile.c (sfile_output_free): Implement this function
1599 * sfile.c (sfile_input_free): Implement this function
1601 Fri May 6 23:38:48 2005 Søren Sandmann <sandmann@redhat.com>
1603 * sysprof-module.c (do_generate): Another desparate hack to try
1604 and prevent the oops.
1606 Sat Apr 30 16:57:23 2005 Soeren Sandmann <sandmann@redhat.com>
1608 * process.c (PAGE_SIZE): Use getpagesize()
1610 * TODO: More updates
1612 Sat Apr 30 15:44:12 2005 Søren Sandmann <sandmann@redhat.com>
1616 * sysprof-module.c (get_regs): Change the way we get registers for
1617 a task so that it works with 2.6.11
1619 Sat Apr 23 19:17:18 2005 Søren Sandmann <sandmann@redhat.com>
1623 Sat Apr 23 19:12:52 2005 Søren Sandmann <sandmann@redhat.com>
1625 * profile.c: Store a pointer to the root of the call tree
1627 * profile.c (profile_load): Call sfile_input_free()
1629 * sfile.c (sformat_free): Implement this function
1631 Sat Apr 23 18:38:46 2005 Søren Sandmann <sandmann@redhat.com>
1633 * sfile.c (post_process_read_instructions): Check pointer types
1635 * sfile.c (post_process_instructions_recurse): Delete this unused function
1637 Sat Apr 23 17:49:33 2005 Søren Sandmann <sandmann@redhat.com>
1639 * sysprof-module.c (page_readable): New function to check if the
1640 page is readable before reading. Noop on kernel <= 2.6.11
1642 * sysprof-module.c (get_mm, put_mm): New functions to confine
1645 Sat Apr 23 17:48:22 2005 Søren Sandmann <sandmann@redhat.com>
1647 * Makefile (MODCFLAGS): Disable optimization as I suspect
1648 the oops is related to miscompilation.
1650 Fri Apr 22 00:09:16 2005 Soeren Sandmann <sandmann@redhat.com>
1652 * sysprof-module.c (read_user_space): On >= 2.6.11 check that the
1653 pages are present and readable before reading them.
1655 Tue Apr 19 23:26:45 2005 Kristian Høgsberg <krh@bitplanet.net>
1657 * Makefile (check): Add simple check target that runs a sanity
1658 check of the build environment.
1660 Sun Apr 17 00:20:41 2005 Soeren Sandmann <sandmann@redhat.com>
1662 * sysprof.c (on_open_clicked): Factor out some stuff in their own
1665 * sysprof.c (load_file): Idle handler to load files given on the
1668 * sysprof.c (main): If a filename is passed on the command line,
1669 load it in an idle handler.
1671 Sun Apr 17 00:19:03 2005 Soeren Sandmann <sandmann@redhat.com>
1675 Sat Apr 16 19:51:48 2005 Soeren Sandmann <sandmann@redhat.com>
1677 * sysprof-module.c (read_user_space): Read a whole page at a time.
1679 Sat Apr 16 14:15:55 2005 Soeren Sandmann <sandmann@redhat.com>
1683 * sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and
1684 later use get_task_mm()/mmput() instead of directly accessing
1687 Sat Apr 16 01:54:18 2005 Søren Sandmann <sandmann@redhat.com>
1689 * TODO: Add backtrace for kernel oops.
1691 Fri Apr 15 16:37:45 2005 Soeren Sandmann <sandmann@redhat.com>
1695 * sysprof.c (sorry): If you hit profile when the module isn't
1696 loaded, pop up an annoying dialog.
1698 * sysprof-module.c: Clean-ups, remove various unused abstractions.
1700 Sat Apr 9 17:49:13 2005 Søren Sandmann <sandmann@redhat.com>
1702 * COPYING: Add a copy of the GPL
1704 Sat Apr 9 17:04:50 2005 Søren Sandmann <sandmann@redhat.com>
1706 * Makefile: Remove debug spew
1708 * *: Add copyright notices
1710 Fri Apr 8 21:30:02 2005 Søren Sandmann <sandmann@redhat.com>
1712 * TODO: More updates
1714 Fri Apr 8 20:48:58 2005 Søren Sandmann <sandmann@redhat.com>
1716 * sysprof.c (build_gui): Load the icon, hook up "about"
1719 * sysprof.c (on_about_activated): New function. Show an about
1722 * sysprof.c (struct Application): Add an icon field
1726 * sysprof-icon.png: Icon, drawn by Diana Fong
1728 Tue Apr 5 23:01:02 2005 Søren Sandmann <sandmann@redhat.com>
1730 * binfile.c (read_symbols): Put back the weird loop, and stop
1731 pretending I understand this. This time use SEC_ALLOC instead of
1734 Tue Apr 5 20:13:44 2005 Søren Sandmann <sandmann@redhat.com>
1736 * process.c (process_ensure_map): Add commented out debug spew.
1738 * process.c (process_lookup_symbol): Remove all should_offset()
1739 function and all references to it.
1741 * binfile.c (bin_file_lookup_symbol): Document that address must
1742 be in file coordinates.
1744 * binfile.c (read_symbols): Remove misguided code that tried to
1745 guess the load address of the file. Instead, do all computations
1746 in "file coordinates". Also fix a memory leak. Add commented out
1749 * binfile.c (separate_debug_file_exists): Fix signedness
1751 Tue Apr 5 14:34:43 2005 Søren Sandmann <sandmann@redhat.com>
1753 * sysprof-module.c (x_access_process_vm): Make it compile with
1758 Mon Apr 4 00:57:11 2005 Soeren Sandmann <sandmann@redhat.com>
1760 * sysprof.c: Busy cursors in many more places.
1764 Sun Apr 3 23:28:45 2005 Soeren Sandmann <sandmann@redhat.com>
1766 * sysprof-module.c (do_generate): Re-schedule the timeout here
1767 instead of in on_timer().
1769 * sysprof-module.c (on_timer): Only block tasks in the
1772 Sun Apr 3 17:03:33 2005 Soeren Sandmann <sandmann@redhat.com>
1774 * sysprof-module.c (queue_generate_stack_trace): Put current
1777 * sysprof-module.c (do_generate): Wake up the traced process
1779 Thu Mar 31 23:09:09 2005 Soeren Sandmann <sandmann@redhat.com>
1781 * sysprof.c (build_gui): Remove stray %
1783 Thu Mar 31 21:18:13 2005 Søren Sandmann <sandmann@redhat.com>
1785 * treeviewutils.c (add_double_format_column): Right justify numbers
1787 * sysprof.c (build_gui): Add a space after the numbers
1789 * sysprof.c (on_callers_row_activated): Focus object view
1791 * sysprof.c (on_descendants_row_activated): Focus new descendants
1794 Thu Mar 31 19:51:51 2005 Søren Sandmann <sandmann@redhat.com>
1796 * sysprof-module.c (do_generate): Walk all threads, not just all
1799 * TODO: Add disk profiling ideas
1801 Thu Mar 31 00:19:47 2005 Soeren Sandmann <sandmann@redhat.com>
1803 * sysprof.c (set_busy): Make this function work
1805 * sysprof.c (on_profile_toggled): Use it here
1807 * sysprof.c (on_object_selection_changed): And here
1809 * profile.c (add_trace_to_tree): Use GPtrArrays instead of
1810 GHashTable and GList.
1812 Mon Mar 28 11:09:02 2005 Soeren Sandmann <sandmann@redhat.com>
1816 Sat Mar 26 19:26:52 2005 Søren Sandmann <sandmann@redhat.com>
1818 * sysprof.c: Show the right number of samples afte Open; remove
1819 shadows from menu bars and toolbars; some other tweaks.
1821 Sat Mar 26 11:26:00 2005 Soeren Sandmann <sandmann@redhat.com>
1825 * sfile.c (add_string): Use g_markup_escape_text() to escape the
1826 string before adding it to the file.
1828 * sysprof.c (empty_file_descriptor): New function to make sure
1829 samples generated before profiling started are ignored.
1830 (set_busy): New commented out function to set a busy cursor.
1832 Fri Mar 25 21:31:08 2005 Søren Sandmann <sandmann@redhat.com>
1834 * sysprof.c (update_sensitivity): Comment out sensitivity of reset button.
1836 Fri Mar 25 21:25:31 2005 Søren Sandmann <sandmann@redhat.com>
1838 * sysprof.c (get_current_object): Return NULL if nothing is
1841 Fri Mar 25 20:54:08 2005 Søren Sandmann <sandmann@redhat.com>
1843 * TODO: More updates
1845 Fri Mar 25 20:25:44 2005 Søren Sandmann <sandmann@redhat.com>
1847 * README: Require gtk+ 2.6
1849 * treeviewutils.c (add_plain_text_column): Ellipsisize text columns.
1851 Fri Mar 25 19:39:24 2005 Søren Sandmann <sandmann@redhat.com>
1853 * TODO: Remove "loading and saving"
1855 * sysprof.glade: Add ellipsises to Open and Save menu items.
1857 * sysprof.c (overwrite_file): Add this function, cutted-and-pasted
1860 * sysprof.c (on_save_as_clicked, on_open_clicked): Use
1861 GtkFileChoosers to pick the names.
1863 * sysprof.c: Various GUI updates.
1865 Fri Mar 25 19:36:28 2005 Søren Sandmann <sandmann@redhat.com>
1867 * sfile.c (bz2_compress): Add this function Don't actually make
1868 any produce use of it.
1870 * profile.c (make_hash_table): Get rid of warning
1872 Thu Mar 24 19:09:33 2005 Søren Sandmann <sandmann@redhat.com>
1874 * sysprof.c: Various GUI updates
1878 * sfile.[ch] (sformat_new_optional): Add some notes about an
1879 "optional" construction.
1881 Wed Mar 23 00:04:07 2005 Soeren Sandmann <sandmann@redhat.com>
1883 Primitive loading and saving.
1885 * sysprof.c (on_open_clicked): Hook up loading.
1887 * sfile.c: Add a copy of g_file_replace() from glib CVS HEAD.
1889 * sfile.c (add_string): Escape and quote the string
1891 * sfile.c (sfile_load): Initialize current_instruction and
1892 instructions_by_location
1894 * sfile.c (post_process_instructions_recurse): Handle NULL
1897 * sfile.c (handle_begin_element, handle_end_element, handle_text):
1898 Move error handling here from state_transition_begin/text/end.
1900 * sfile.c (handle_text): Discard whitespace-only strings
1902 * sfile.c (sfile_get_pointer, sfile_get_integer,
1903 sfile_get_string): expect both begin, value, and end transitions.
1905 * sfile.c (hook_up_pointers): Only treat instructions as pointer
1906 values when they are. Handle NULL targets properly.
1908 * sfile.c (get_number): Fix a few read-freed-data bugs
1910 * profile.c (profile_load): Call sfile_end_get() for the profile;
1911 build the nodes_by_objects hash table. Build the call tree.
1913 * profile.c (create_format): Don't store next pointer, but do
1914 store total, self and toplevel.
1916 * profile.c (make_hash_table): New function to build
1917 nodes_by_object hashtable from loaded data
1919 Sat Mar 12 11:05:19 2005 Soeren Sandmann <sandmann@redhat.com>
1921 * sysprof-module.c: Fix small bug in add_timeout()
1922 * sysprof.c (build_gui): More descriptive tree labels
1925 Thu Mar 10 16:37:52 2005 Søren Sandmann <sandmann@redhat.com>
1927 * sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by
1930 Mon Mar 7 14:47:09 2005 Søren Sandmann <sandmann@redhat.com>
1932 * README: Add note that you need to compile the module with
1933 the same compiler that compiled the kernel.
1935 Sun Mar 6 22:56:21 2005 Soeren Sandmann <sandmann@redhat.com>
1937 * sfile.c: Generate id's for objects and pointers.
1939 Sat Mar 5 01:09:33 2005 Soeren Sandmann <sandmann@redhat.com>
1941 * sfile.c: Bug fixes. Add actual generation.
1943 Fri Mar 4 13:47:13 2005 Søren Sandmann <sandmann@redhat.com>
1945 * sysprof.c: Remove include of non-existing tracing.h
1947 Thu Mar 3 23:48:13 2005 Soeren Sandmann <sandmann@redhat.com>
1949 * profile.c (profile_load): Write this function.
1951 * sfile.c: Add support for user defined record and list types.
1952 Simplify logic a lot.
1954 Wed Mar 2 23:39:50 2005 Soeren Sandmann <sandmann@redhat.com>
1956 * profile.[ch], sfile.[ch]: Experiment with a
1957 file-format-description format.
1959 * sysprof.c: Add commented out code using /proc/ based
1962 Fri Jan 21 11:23:54 2005 Søren Sandmann <sandmann@redhat.com>
1964 * README: Some updates - add note about SMP kernels.
1966 * sysprof-module.c: Go back to just sampling the current
1969 * ChangeLog: I guess these do make sense, so start one.