platform/upstream/sysprof.git
16 years agoInitial build id support
Søren Sandmann Pedersen [Sun, 20 Apr 2008 20:58:11 +0000 (20:58 +0000)]
Initial build id support

svn path=/trunk/; revision=410

16 years agoConstrain the samples label to only grow wider instead of bouncing around.
Owen Taylor [Tue, 1 Apr 2008 17:46:06 +0000 (17:46 +0000)]
Constrain the samples label to only grow wider instead of bouncing around.

2008-04-01  Owen Taylor  <otaylor@redhat.com>

        * sysprof.c (on_samples_label_size_request): Constrain the
        samples label to only grow wider instead of bouncing around.

svn path=/trunk/; revision=409

16 years agoSplit decode_entry
Søren Sandmann Pedersen [Sat, 29 Mar 2008 23:02:01 +0000 (23:02 +0000)]
Split decode_entry

svn path=/trunk/; revision=408

16 years agoWork around GTK+ ABI break.
Soren Sandmann [Sat, 29 Mar 2008 22:18:42 +0000 (22:18 +0000)]
Work around GTK+ ABI break.

2008-03-29  Soren Sandmann <sandmann@daimi.au.dk>

        Work around GTK+ ABI break.

        * sysprof.c (on_about_activated): Use "program-name" instead of
        "name" when the gtk+ minor version is >= 14.

svn path=/trunk/; revision=407

16 years agoCall back after collecting all traces.
Soren Sandmann [Sat, 29 Mar 2008 19:08:01 +0000 (19:08 +0000)]
Call back after collecting all traces.

2008-03-24  Soren Sandmann <sandmann@daimi.au.dk>

        * collector.c (collect_traces): Call back after collecting all
        traces.

        * TODO: update

        * process.c: Simpler code to find vmlinux

svn path=/trunk/; revision=406

16 years agoBeginning of a dwarf unwinder.
Søren Sandmann [Sat, 29 Mar 2008 16:00:33 +0000 (16:00 +0000)]
Beginning of a dwarf unwinder.

Sat Mar 29 11:14:38 2008  Søren Sandmann  <sandmann@redhat.com>

        * unwind.[ch], testunwind.c: Beginning of a dwarf unwinder.

svn path=/trunk/; revision=405

16 years agox86 merge happened in 2.6.25
Søren Sandmann [Sat, 29 Mar 2008 12:14:13 +0000 (12:14 +0000)]
x86 merge happened in 2.6.25

Sat Mar 29 08:05:46 2008  Søren Sandmann  <sandmann@redhat.com>

* module/sysprof-module.c: x86 merge happened in 2.6.25

svn path=/trunk/; revision=404

16 years agoRemove unnecessary show_samples
Søren Sandmann Pedersen [Mon, 24 Mar 2008 03:04:14 +0000 (03:04 +0000)]
Remove unnecessary show_samples

svn path=/trunk/; revision=403

16 years ago+2008-03-23 Soren Sandmann <sandmann@daimi.au.dk>
Søren Sandmann Pedersen [Mon, 24 Mar 2008 03:00:49 +0000 (03:00 +0000)]
+2008-03-23  Soren Sandmann <sandmann@daimi.au.dk>
+
+       * sysprof.c (queue_show_samples): Update samples immediately when
+       reset and start is clicked.
+

svn path=/trunk/; revision=402

16 years agoUse kernel builtin tracer instead of copying everything ourselves.
Soren Sandmann [Thu, 20 Mar 2008 09:49:46 +0000 (09:49 +0000)]
Use kernel builtin tracer instead of copying everything ourselves.

 2008-03-20  Soren Sandmann <sandmann@redhat.com>

       * module/sysprof-module.c (trace_kernel): Use kernel builtin
       tracer instead of copying everything ourselves.

svn path=/trunk/; revision=401

16 years agoSupport for 2.6.24 and newer
Soren Sandmann [Thu, 20 Mar 2008 07:19:13 +0000 (07:19 +0000)]
Support for 2.6.24 and newer

2008-03-20  Soren Sandmann <sandmann@redhat.com>

       * module/sysprof-module.c: Support for 2.6.24 and newer

svn path=/trunk/; revision=400

16 years agoUpdate a comment
Søren Sandmann Pedersen [Sun, 2 Mar 2008 00:08:21 +0000 (00:08 +0000)]
Update a comment

svn path=/trunk/; revision=399

16 years agoInitialize offset to 1. Don't do kernel lookup for unmapped addresses.
Soren Sandmann [Sun, 24 Feb 2008 00:53:29 +0000 (00:53 +0000)]
Initialize offset to 1. Don't do kernel lookup for unmapped addresses.

2008-02-23  Soren Sandmann <sandmann@redhat.com>

* process.c (process_lookup_symbol): Initialize offset to 1. Don't
do kernel lookup for unmapped addresses.

svn path=/trunk/; revision=398

16 years agoAdd commented out code to reject callback.
Soren Sandmann [Sun, 17 Feb 2008 23:31:19 +0000 (23:31 +0000)]
Add commented out code to reject callback.

2008-02-17  Soren Sandmann  <sandmann@redhat.com>

* collector.c (lookup_symbol): Add commented out code to reject
callback.

* elfparser.c (struct ElfParser): Store the filename if any
(elf_parser_get_sym_address): Subtract the load address, so the
result will be an offset into the text section.

* process.[ch] (process_lookup_symbol): Add an offset out-argument

* binfile.[ch] (bin_symbol_get_address): New function

* TODO: updates

svn path=/trunk/; revision=397

16 years agoAdd a memcpy() that uses nontemporal writes. (copy_kernel_stack): Add
Soren Sandmann [Sat, 16 Feb 2008 15:54:40 +0000 (15:54 +0000)]
Add a memcpy() that uses nontemporal writes. (copy_kernel_stack): Add

2008-02-16  Soren Sandmann  <sandmann@redhat.com>

* module/sysprof-module.c (nt_memcpy): Add a memcpy() that uses
nontemporal writes.
(copy_kernel_stack): Add commented-out use of it here.

svn path=/trunk/; revision=396

16 years agoUse hash table instead of list.
Soren Sandmann [Tue, 20 Nov 2007 23:50:21 +0000 (23:50 +0000)]
Use hash table instead of list.

2007-11-20  Soren Sandmann <sandmann@daimi.au.dk>

        * binfile.c (find_separate_debug_file): Use hash table instead of
        list.

svn path=/trunk/; revision=395

16 years agoUpdate TODO
Søren Sandmann Pedersen [Mon, 19 Nov 2007 17:56:02 +0000 (17:56 +0000)]
Update TODO

svn path=/trunk/; revision=394

16 years agoMake heuristic stack scanning more accurate
Soren Sandmann [Mon, 19 Nov 2007 03:34:19 +0000 (03:34 +0000)]
Make heuristic stack scanning more accurate

2007-11-18  Soren Sandmann <sandmann@daimi.au.dk>

        * module/sysprof-module.c (heuristic_trace): Make heuristic stack
        scanning more accurate

svn path=/trunk/; revision=393

16 years agoCrude heuristic stack scanning on x86-64.
Søren Sandmann [Sun, 18 Nov 2007 23:11:52 +0000 (23:11 +0000)]
Crude heuristic stack scanning on x86-64.

Sun Nov 18 18:12:09 2007  Søren Sandmann  <sandmann@redhat.com>

       * module/sysprof-module.c (heuristic_trace): Crude heuristic stack
       scanning on x86-64.

       * module/sysprof-module.c (copy_kernel_stack): New function

svn path=/trunk/; revision=392

16 years agoReturn ssize_t instead of int.
Søren Sandmann [Sun, 18 Nov 2007 18:29:34 +0000 (18:29 +0000)]
Return ssize_t instead of int.

Sun Nov 18 13:23:39 2007  Søren Sandmann  <sandmann@redhat.com>

        * module/sysprof-module.c (sysprof_read): Return ssize_t instead
        of int.

        * module/sysprof-module.c (heuristic_trace): Beginning of
        heuristic user stack scanning.

svn path=/trunk/; revision=391

16 years ago+2007-11-17 Soren Sandmann <sandmann@daimi.au.dk>
Søren Sandmann Pedersen [Sat, 17 Nov 2007 06:23:39 +0000 (06:23 +0000)]
+2007-11-17  Soren Sandmann <sandmann@daimi.au.dk>
+
+       * collector.c (collector_create_profile): Don't collect traces here.
+

svn path=/trunk/; revision=390

16 years agoFormatting
Soren Sandmann [Sat, 17 Nov 2007 03:48:31 +0000 (03:48 +0000)]
Formatting

2007-11-16  Soren Sandmann <sandmann@daimi.au.dk>

* module/sysprof-module.c (n_traces_available): Formatting

* module/sysprof-module.c (sysprof_poll): Require 16 traces rather
than 8.

svn path=/trunk/; revision=389

16 years agoupdates
Soren Sandmann [Sat, 17 Nov 2007 02:53:22 +0000 (02:53 +0000)]
updates

2007-11-16  Soren Sandmann <sandmann@daimi.au.dk>

* TODO: updates

* module/sysprof-module.c (sysprof_poll): Only select readable
when there is at least eight traces available

* collector.c (collect_traces): New function, old on_read()

* collector.c (collector_create_profile): Collect traces here as
well.

svn path=/trunk/; revision=388

17 years agoUpdates
Soren Sandmann [Fri, 16 Nov 2007 07:47:22 +0000 (07:47 +0000)]
Updates

2007-11-16  Soren Sandmann <sandmann@daimi.au.dk>

* TODO: Updates

* process.c (process_locate_map): Move map to front

* profile.c (profile_load): Ignore the toplevel field in the file
since we can compute it ourselves.

* stackstash.c (stack_stash_decorate): New function

* stackstash.c (stack_stash_add_trace): Decorate the tree lazily
instead of on each sample.

svn path=/trunk/; revision=387

17 years agoUpdate TODO
Søren Sandmann Pedersen [Tue, 30 Oct 2007 01:48:27 +0000 (01:48 +0000)]
Update TODO

svn path=/trunk/; revision=386

17 years agoUse an array instead of a list. Look for vmlinux in the source directory.
Soren Sandmann [Thu, 25 Oct 2007 02:45:54 +0000 (02:45 +0000)]
Use an array instead of a list. Look for vmlinux in the source directory.

2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>

        * process.c (look_for_vmlinux): Use an array instead of a
        list. Look for vmlinux in the source directory.

        * elfparser.c (elf_parser_get_crc32): Only use MADV_DONTNEED if
        the data is file-backed.

        * TODO: updates.

        Various formatting fixes

svn path=/trunk/; revision=385

17 years agoMake this a two-pass algorithm, one pass to add the trace, and one to do
Soren Sandmann [Mon, 22 Oct 2007 14:11:01 +0000 (14:11 +0000)]
Make this a two-pass algorithm, one pass to add the trace, and one to do

2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>

* profile.c (add_trace_to_tree): Make this a two-pass
algorithm, one pass to add the trace, and one to do the
accounting.

svn path=/trunk/; revision=384

17 years agoFix some spelling errors
Soren Sandmann [Mon, 22 Oct 2007 13:48:30 +0000 (13:48 +0000)]
Fix some spelling errors

2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>

* sfile.c: Fix some spelling errors

* profile.[ch], sysprof.[ch]: Change "non_recursive" to
"cumulative" to match the UI

* profile.c (add_trace_to_tree): Add a couple of asserts.

* TODO: updates

svn path=/trunk/; revision=383

17 years agoAdd ChangeLog
Søren Sandmann Pedersen [Mon, 22 Oct 2007 04:41:58 +0000 (04:41 +0000)]
Add ChangeLog

svn path=/trunk/; revision=382

17 years agoDon't discard weak symbols.
Soren Sandmann [Mon, 22 Oct 2007 04:41:27 +0000 (04:41 +0000)]
Don't discard weak symbols.

2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>

* elfparser.c (read_table): Don't discard weak symbols.

* elfparser.c (elf_parser_lookup_symbol): If the symbol has
unknown size, don't check that the address is in range.

svn path=/trunk/; revision=381

17 years agoAdd notes about releasing
Søren Sandmann Pedersen [Sun, 21 Oct 2007 22:24:47 +0000 (22:24 +0000)]
Add notes about releasing

svn path=/trunk/; revision=380

17 years agoRemove CFLAGS reminiscence of 2.4 support.
Soren Sandmann [Sun, 21 Oct 2007 21:35:39 +0000 (21:35 +0000)]
Remove CFLAGS reminiscence of 2.4 support.

2007-10-21  Soren Sandmann <sandmann@daimi.au.dk>

        * module/Makefile: Remove CFLAGS reminiscence of 2.4 support.

svn path=/trunk/; revision=375

17 years agoCall callback with an extra boolean indicating whether the sample read was
Soren Sandmann [Sat, 20 Oct 2007 23:51:35 +0000 (23:51 +0000)]
Call callback with an extra boolean indicating whether the sample read was

2007-10-20  Soren Sandmann <sandmann@daimi.au.dk>

       * collector.c (on_read): Call callback with an extra boolean
       indicating whether the sample read was the first one

       * collector.c (add_trace_to_stash): Allocate addresses on the
       stack if possible.

       * sysprof.c (on_new_sample): Only call update_sensitivity() on the
       first sample.

       * stackstash.c (stack_stash_add_trace): Move match to front

svn path=/trunk/; revision=373

17 years agoAdd support for looking up kernel symbols from /proc/kallsyms
Soren Sandmann [Mon, 17 Sep 2007 01:43:07 +0000 (01:43 +0000)]
Add support for looking up kernel symbols from /proc/kallsyms

2007-09-16  Soren Sandmann <sandmann@daimi.au.dk>

* process.c (process_lookup_kernel_symbol): Add support for
looking up kernel symbols from /proc/kallsyms

* sysprof-text.c (dump_data): Print note that the file is being
saved.

* module/sysprof-module.[ch] (timer_notify): Send a copy of the
kernel stack to userspace.

* collector.c: Do kernel symbol lookups.

svn path=/trunk/; revision=372

17 years agoCompute the size by simply summing the size of the siblings. They are
Soren Sandmann [Sun, 26 Aug 2007 05:41:59 +0000 (05:41 +0000)]
Compute the size by simply summing the size of the siblings. They are

2007-08-26  Soren Sandmann <sandmann@daimi.au.dk>

        * profile.c (profile_get_size): Compute the size by simply summing
        the size of the siblings. They are toplevel by definition, and
        this works if the siblings for some reason has the same address.

svn path=/trunk/; revision=371

17 years agoReformat and fix various minor issues.
Soren Sandmann [Sun, 26 Aug 2007 04:27:08 +0000 (04:27 +0000)]
Reformat and fix various minor issues.

2007-08-26  Soren Sandmann <sandmann@daimi.au.dk>

* treeviewutils.c (process_iter): Reformat and fix various minor
issues.

svn path=/trunk/; revision=370

17 years agoWork around GTK+ bug 405625.
Soren Sandmann [Sun, 26 Aug 2007 04:06:44 +0000 (04:06 +0000)]
Work around GTK+ bug 405625.

2007-08-25  Soren Sandmann <sandmann@daimi.au.dk>

        * treeviewutils.c (tree_view_set_model_with_default_sort): Work
        around GTK+ bug 405625.

svn path=/trunk/; revision=369

17 years agoTODO updates
Søren Sandmann Pedersen [Sun, 26 Aug 2007 03:55:15 +0000 (03:55 +0000)]
TODO updates

svn path=/trunk/; revision=368

17 years agoUpdate TODO
Søren Sandmann Pedersen [Sat, 11 Aug 2007 23:08:58 +0000 (23:08 +0000)]
Update TODO

svn path=/trunk/; revision=367

17 years agoUpdate TODO
Søren Sandmann Pedersen [Sat, 11 Aug 2007 23:06:08 +0000 (23:06 +0000)]
Update TODO

svn path=/trunk/; revision=366

17 years agoAdd MAINTAINERS
Søren Sandmann Pedersen [Wed, 8 Aug 2007 14:40:48 +0000 (14:40 +0000)]
Add MAINTAINERS

svn path=/trunk/; revision=365

17 years agoUpdate to use new tree view API.
Soren Sandmann [Sat, 4 Aug 2007 19:54:17 +0000 (19:54 +0000)]
Update to use new tree view API.

2007-08-04  Soren Sandmann <sandmann@daimi.au.dk>

        * sysprof.c: Update to use new tree view API.

        * treeviewutils.c: Do customized sorting to get default sort
        orders on columns. Workaround GTK+ bug 333791.

svn path=/trunk/; revision=364

17 years ago+ * elfparser.c (elf_parser_get_crc32): madvise()
Soren Sandmann [Sat, 24 Mar 2007 17:56:20 +0000 (17:56 +0000)]
+ * elfparser.c (elf_parser_get_crc32): madvise()

 2007-03-24  Soren Sandmann <sandmann@daimi.au.dk>

+       * elfparser.c (elf_parser_get_crc32): madvise()

svn path=/trunk/; revision=363

17 years agoUpdate screenshot window in an idle handler to deal with the case where
Soren Sandmann [Sat, 24 Mar 2007 17:53:43 +0000 (17:53 +0000)]
Update screenshot window in an idle handler to deal with the case where

2007-03-24  Soren Sandmann <sandmann@daimi.au.dk>

        * sysprof.c (update_screenshot_window): Update screenshot window
        in an idle handler to deal with the case where someone presses
        "Shift Right Arrow"

svn path=/trunk/; revision=362

17 years agoNew function. Only warn once about bad CRC's.
Søren Sandmann [Mon, 5 Mar 2007 21:53:57 +0000 (21:53 +0000)]
New function. Only warn once about bad CRC's.

Mon Mar  5 16:55:39 2007  Søren Sandmann  <sandmann@redhat.com>

        * binfile.c (already_warned): New function. Only warn once about
        bad CRC's.

svn path=/trunk/; revision=361

17 years agoMake this function static
Soren Sandmann [Fri, 2 Mar 2007 06:36:34 +0000 (06:36 +0000)]
Make this function static

 2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>

       * sysprof-text.c (dump_data): Make this function static

svn path=/trunk/; revision=360

17 years agoRemove FIXME.
Soren Sandmann [Fri, 2 Mar 2007 06:30:42 +0000 (06:30 +0000)]
Remove FIXME.

2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>

        * collector.c (collector_create_profile): Remove FIXME.

svn path=/trunk/; revision=359

17 years agoFree the undefined symbol
Soren Sandman [Fri, 2 Mar 2007 06:27:05 +0000 (06:27 +0000)]
Free the undefined symbol

2007-03-02  Soren Sandman <sandmann@daimi.au.dk>

* process.c (free_process): Free the undefined symbol

svn path=/trunk/; revision=358

17 years agoMake a copy of the vdso bytes to make valgrind a little quieter.
Soren Sandmann [Fri, 2 Mar 2007 06:21:37 +0000 (06:21 +0000)]
Make a copy of the vdso bytes to make valgrind a little quieter.

2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>

* process.c (process_get_vdso_bytes): Make a copy of the vdso
bytes to make valgrind a little quieter.

* binparser.c: Note to self: Save the file, *then* commit.

svn path=/trunk/; revision=357

17 years agoFix two leaks, both pointed out by Kjartan Maraas
Soren Sandmann [Fri, 2 Mar 2007 05:23:30 +0000 (05:23 +0000)]
Fix two leaks, both pointed out by Kjartan Maraas

2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>

        Fix two leaks, both pointed out by Kjartan Maraas

        * binparser.c (bin_parser_free): Free the record list

        * elfparser.c (elf_parser_free): Free the symbol table.

svn path=/trunk/; revision=356

17 years agosvn path=/trunk/; revision=355
Søren Sandmann Pedersen [Sun, 25 Feb 2007 04:15:51 +0000 (04:15 +0000)]
svn path=/trunk/; revision=355

svn path=/trunk/; revision=355

17 years agoUpdates
Soren Sandmann [Sat, 24 Feb 2007 08:49:51 +0000 (08:49 +0000)]
Updates

2007-02-24  Soren Sandmann <sandmann@daimi.au.dk>

        * TODO: Updates

        * binparser.[ch]: Get rid of BIN_UINTn types; replace with single
        BIN_UINT, where the user must provide the width

        * elfparser.c: Update to new binparser API

svn path=/trunk/; revision=354

17 years agoinclude correct header file
Søren Sandmann Pedersen [Sat, 24 Feb 2007 08:35:48 +0000 (08:35 +0000)]
include correct header file

svn path=/trunk/; revision=353

17 years agoSwitch to a simpler conceptual model. Update to binparser API changes.
Soren Sandman [Sat, 24 Feb 2007 07:15:24 +0000 (07:15 +0000)]
Switch to a simpler conceptual model. Update to binparser API changes.

2007-02-24  Soren Sandman <sandmann@daimi.au.dk>

        * binparser.[ch]: Switch to a simpler conceptual model.
        * elfparser.c: Update to binparser API changes.
        * TODO: updates

svn path=/trunk/; revision=352

17 years agosvn path=/trunk/; revision=351
Søren Sandmann Pedersen [Fri, 9 Feb 2007 22:04:45 +0000 (22:04 +0000)]
svn path=/trunk/; revision=351

svn path=/trunk/; revision=351

17 years agoUpdate copyright notices
Søren Sandmann [Fri, 9 Feb 2007 21:59:15 +0000 (21:59 +0000)]
Update copyright notices

Fri Feb  9 16:53:29 2007  Søren Sandmann  <sandmann@redhat.com>

* Update copyright notices

svn path=/trunk/; revision=350

17 years agoDon't store the size of the symbol. (elf_parser_lookup_symbol): Look it up
Søren Sandmann [Fri, 9 Feb 2007 21:30:01 +0000 (21:30 +0000)]
Don't store the size of the symbol. (elf_parser_lookup_symbol): Look it up

Fri Feb  9 16:16:34 2007  Søren Sandmann  <sandmann@redhat.com>

       * elfparser.c (struct ElfSym): Don't store the size of the symbol.
       (elf_parser_lookup_symbol): Look it up here instaed.

       * binfile.c (bin_file_free): Use pre-decrement instead of
       post-decrement.
       (bin_file_check_inode): Clarify the warning a little

svn path=/trunk/; revision=349

17 years agosysprof-icon-32.png Add a 32x32 version (also from Diana) of the icon.
Søren Sandmann [Mon, 22 Jan 2007 22:48:33 +0000 (22:48 +0000)]
sysprof-icon-32.png Add a 32x32 version (also from Diana) of the icon.

Mon Jan 22 17:42:29 2007  Søren Sandmann  <sandmann@redhat.com>

* sysprof-icon-32.png
* sysprof.c: Add a 32x32 version (also from Diana) of the icon.

Mon Jan 22 16:37:12 2007  Søren Sandmann  <sandmann@redhat.com>

* sysprof-icon-16/24/48.png:
* sysprof.c: Add new icons from Diana.

svn path=/trunk/; revision=348

17 years agoAdd new icons
Søren Sandmann Pedersen [Mon, 22 Jan 2007 21:43:36 +0000 (21:43 +0000)]
Add new icons

svn path=/trunk/; revision=347

17 years agoCorrect $PWD usage, so make install works from inside module/.
Behdad Esfahbod [Fri, 5 Jan 2007 21:39:25 +0000 (21:39 +0000)]
Correct $PWD usage, so make install works from inside module/.

2007-01-05  Behdad Esfahbod  <behdad@gnome.org>

        * module/Makefile: Correct $PWD usage, so make install works from
        inside module/.

svn path=/trunk/; revision=346

17 years agofile announce-1.0.8 was initially added on branch sysprof-1-0.
Søren Sandmann Pedersen [Sun, 10 Dec 2006 02:20:08 +0000 (02:20 +0000)]
file announce-1.0.8 was initially added on branch sysprof-1-0.

17 years agoAdd forgotten put_cpu_var(). Parse in chunks of 65536 to improve locality.
Soren Sandmann [Sat, 9 Dec 2006 06:29:43 +0000 (06:29 +0000)]
Add forgotten put_cpu_var(). Parse in chunks of 65536 to improve locality.

2006-12-09  Soren Sandmann <sandmann@daimi.au.dk>

        * module/sysprof-module.c: Add forgotten put_cpu_var().
        * sfile.c (build_instructions): Parse in chunks of 65536 to
        improve locality.

17 years agoSet inode for vdso to 0.
Soren Sandmann [Thu, 23 Nov 2006 08:03:02 +0000 (08:03 +0000)]
Set inode for vdso to 0.

2006-11-23  Soren Sandmann <sandmann@daimi.au.dk>

        * process.c (read_maps): Set inode for vdso to 0.

        * binfile.c (read_inode): Return -1 on error, 0 on vdso
        (bin_file_new): Only read the inode if the file actually exists
        and is an elf file.
        (bin_file_check_inode): Return FALSE if there is no file.

17 years agoUse GMappedFile instead g_file_get_contents(). (build_instructions): Pass
Soren Sandmann [Thu, 23 Nov 2006 03:32:04 +0000 (03:32 +0000)]
Use GMappedFile instead g_file_get_contents(). (build_instructions): Pass

2006-11-22  Soren Sandmann <sandmann@daimi.au.dk>

        * sfile.c (sfile_load): Use GMappedFile instead
        g_file_get_contents().
        (build_instructions): Pass length instead of -1.
        (sfile_output_save): Use g_file_set_contents() instead of
        cut-and-pasted copy.

17 years agoMove match to front (add_trace_to_tree): Break as soon as a recursive call
Soren Sandmann [Wed, 22 Nov 2006 07:06:04 +0000 (07:06 +0000)]
Move match to front (add_trace_to_tree): Break as soon as a recursive call

2006-11-22  Soren Sandmann <sandmann@daimi.au.dk>

        * profile.c (add_trace_to_tree): Move match to front
        (add_trace_to_tree): Break as soon as a recursive call is found.

        * stackstash.c (do_callback): Manual tail call optimization.

17 years agoreset the collector after generating the profile.
Soren Sandmann [Mon, 20 Nov 2006 07:25:02 +0000 (07:25 +0000)]
reset the collector after generating the profile.

2006-11-20  Soren Sandmann <sandmann@daimi.au.dk>

        * sysprof.c (ensure_profile): reset the collector after generating
        the profile.

        * stackstash.c (struct StackStash): Add cached_nodes and blocks.
        (stack_node_new): Allocate stack nodes in blocks.

17 years agoUse stack allocated variables to avoid taking addresses of bitfields.
Soren Sandmann [Mon, 20 Nov 2006 04:11:21 +0000 (04:11 +0000)]
Use stack allocated variables to avoid taking addresses of bitfields.

2006-11-19  Soren Sandmann <sandmann@redhat.com>

        * profile.c (profile_load): Use stack allocated variables to avoid
        taking addresses of bitfields.

        * stackstash.h (struct StackNode): Store toplevel as bitfield

17 years agoUse stack_node_new() o (profile_load): Use set_root() instead of
Soren Sandmann [Mon, 20 Nov 2006 04:08:01 +0000 (04:08 +0000)]
Use stack_node_new() o (profile_load): Use set_root() instead of

2006-11-19  Soren Sandmann <sandmann@redhat.com>

        * profile.c (profile_load): Use stack_node_new() o
        (profile_load): Use set_root() instead of new_from_root();

        * stackstash.c (stack_stash_new_from_root): Delete this function
        (stack_stash_set_root): Add this function
        (stack_node_new): Export this function

17 years agoDeclare bin_parser_free();
Soren Sandmann [Sun, 19 Nov 2006 22:48:28 +0000 (22:48 +0000)]
Declare bin_parser_free();

2006-11-19   Soren Sandmann <sandmann@redhat.com>

        * binparser.h: Declare bin_parser_free();

        * elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on
        the file.

        * process.c (struct Process): Remove do_offset.

18 years agofile announce-1.0.7 was initially added on branch sysprof-1-0.
Søren Sandmann Pedersen [Thu, 16 Nov 2006 14:40:59 +0000 (14:40 +0000)]
file announce-1.0.7 was initially added on branch sysprof-1-0.

18 years agoNew function
Soren Sandmann [Sat, 11 Nov 2006 03:34:40 +0000 (03:34 +0000)]
New function

2006-11-02  Soren Sandmann <sandmann@daimi.au.dk>

       * sysprof.c (disable_g_slice): New function

       * sysprof.c (main): Call it from here.

18 years agoudpate
Søren Sandmann [Thu, 9 Nov 2006 22:55:53 +0000 (22:55 +0000)]
udpate

Thu Nov  9 17:55:24 2006  Søren Sandmann  <sandmann@redhat.com>

        * TODO (-): udpate

18 years agoStart with "/usr", not "usr". Pointed out by Tim Rowley.
Søren Sandmann [Thu, 9 Nov 2006 22:32:22 +0000 (22:32 +0000)]
Start with "/usr", not "usr". Pointed out by Tim Rowley.

Thu Nov  9 17:31:17 2006  Søren Sandmann  <sandmann@redhat.com>

        * binfile.c (get_debug_file): Start with "/usr", not
        "usr". Pointed out by Tim Rowley.

        * binparser.c (bin_parser_align): Pass byte_width on instead of
        hardcoding 4.

18 years agoLook in the correct directory for debug info files. (Tim Rowley)
Søren Sandmann [Thu, 9 Nov 2006 21:56:28 +0000 (21:56 +0000)]
Look in the correct directory for debug info files. (Tim Rowley)

Thu Nov  9 16:47:35 2006  Søren Sandmann  <sandmann@redhat.com>

        Look in the correct directory for debug info files. (Tim Rowley)

        * binfile.c (N_TRIES): Add this instead of hardcoding '3'

        * binfile.c (get_debug_file): Also look in "/usr/lib/debug", in
        addition to "$(libdir)/debug".

        * binfile.c: Comment out the debug spew.

18 years agoAdd debug spew.
Søren Sandmann [Thu, 9 Nov 2006 21:17:59 +0000 (21:17 +0000)]
Add debug spew.

Thu Nov  9 16:17:11 2006  Søren Sandmann  <sandmann@redhat.com>

        * binfile.c: Add debug spew.

18 years agoDie immediately if the output file is a directory.
Søren Sandmann [Thu, 9 Nov 2006 21:02:31 +0000 (21:02 +0000)]
Die immediately if the output file is a directory.

Thu Nov  9 16:01:47 2006  Søren Sandmann  <sandmann@redhat.com>

        * sysprof-text.c (main): Die immediately if the output file is a
        directory.

        * autogen.sh (DIE): Also work when automake-1.9 is installed.

18 years agoValgrind:
Soren Sandmann [Thu, 2 Nov 2006 08:33:35 +0000 (08:33 +0000)]
Valgrind:

2006-11-02  Soren Sandmann <sandmann@daimi.au.dk>

        Valgrind:

        * binparser.c (bin_parser_free): Add this function

        * elfparser.c (elf_parser_free): Call bin_parser_free()

        * sysprof.c (compute_text_width, add_text): Plug leaks

        * collector.c (add_trace_to_stash): Copy n_addresses to a stack
        variable instead of reading it out of the mmap'ed area all the
        time. (That way if there is an overrun, we won't write too much
        into the address array).

18 years agoIncrease the max number of addresses to 1021, reorganise SysprofMmapArea
Soren Sandmann [Thu, 2 Nov 2006 06:54:12 +0000 (06:54 +0000)]
Increase the max number of addresses to 1021, reorganise SysprofMmapArea

2006-10-26  Soren Sandmann <sandmann@daimi.au.dk>

        * module/sysprof-module.h (struct SysprofStackTrace): Increase the
        max number of addresses to 1021, reorganise SysprofMmapArea to
        make the traces naturally page aligned.

        * TODO: Update

18 years agofile announce-1.0.5 was initially added on branch sysprof-1-0.
Søren Sandmann Pedersen [Mon, 30 Oct 2006 03:21:45 +0000 (03:21 +0000)]
file announce-1.0.5 was initially added on branch sysprof-1-0.

18 years agofile announce-1.0.4 was initially added on branch sysprof-1-0.
Søren Sandmann Pedersen [Mon, 30 Oct 2006 01:06:46 +0000 (01:06 +0000)]
file announce-1.0.4 was initially added on branch sysprof-1-0.

18 years agoCombine processes with identical commandlines here.
Soren Sandmann [Thu, 26 Oct 2006 05:49:01 +0000 (05:49 +0000)]
Combine processes with identical commandlines here.

2006-10-26  Soren Sandmann <sandmann@daimi.au.dk>

        * collector.c (resolve_symbols): Combine processes with identical
        commandlines here.

18 years agoMake the pointer array static to improve cache behavior and reduce calls
Soren Sandmann [Thu, 26 Oct 2006 05:13:16 +0000 (05:13 +0000)]
Make the pointer array static to improve cache behavior and reduce calls

2006-10-25  Soren Sandmann <sandmann@daimi.au.dk>

        * profile.c (add_trace_to_tree): Make the pointer array static to
        improve cache behavior and reduce calls to malloc().

        * process.c (lookup_kernel_symbol): Remove obsolete comment.

18 years agoIncomplete changelog
Søren Sandmann Pedersen [Wed, 25 Oct 2006 04:47:34 +0000 (04:47 +0000)]
Incomplete changelog

18 years ago+2006-10-25 Soren Sandmann <sandmann@daimi.au.dk> + + * process.c
Søren Sandmann Pedersen [Wed, 25 Oct 2006 04:47:06 +0000 (04:47 +0000)]
+2006-10-25 Soren Sandmann <sandmann@daimi.au.dk> + + * process.c

+2006-10-25  Soren Sandmann <sandmann@daimi.au.dk>
+
+       * process.c (free_maps): Take a pointer to a variable that
+
+       * process.c: Stop coalescing processes with the same cmdline.
+
+       * TODO: updates.
+

18 years agoreplace PAGE_SIZE macro with this function.
Soren Sandmann [Wed, 25 Oct 2006 02:02:44 +0000 (02:02 +0000)]
replace PAGE_SIZE macro with this function.

2006-10-24  Soren Sandmann <sandmann@daimi.au.dk>

* process.c (page_size): replace PAGE_SIZE macro with this function.

* binfile.c: Remove obsolete comment.

18 years agoUse an array instead of list of maps.
Soren Sandmann [Tue, 24 Oct 2006 04:00:59 +0000 (04:00 +0000)]
Use an array instead of list of maps.

2006-10-24  Soren Sandmann <sandmann@daimi.au.dk>

* process.c (struct Process): Use an array instead of list of
maps.

18 years agoUse PAGE_SIZE - 1 instead of 4096.
Soren Sandmann [Mon, 23 Oct 2006 13:02:40 +0000 (13:02 +0000)]
Use PAGE_SIZE - 1 instead of 4096.

2006-10-23  Soren Sandmann <sandmann@daimi.au.dk>

* module/sysprof-module.c (init_module): Use PAGE_SIZE - 1 instead
of 4096.

18 years agoCommunicate traces to userspace through shared memory instead of copying.
Soren Sandmann [Mon, 23 Oct 2006 03:46:25 +0000 (03:46 +0000)]
Communicate traces to userspace through shared memory instead of copying.

2006-10-22  Soren Sandmann <sandmann@daimi.au.dk>

Communicate traces to userspace through shared memory instead of
copying.

* module/sysprof-module.c: Store the traces in a SysprofMmapArea.
(sysprof_mmap): Implement this method.
(sysprof_nopage): Implement this.
(sysprof_read): Just reset the tail pointer and return zero.

* module/sysprof-module.h (struct SysprofMmapArea): New
structure.

* collector.c (collector_stop): Unmap the device
(in_dead_period): New function
(on_read): Read the traces out of mmap()ed area instead of reading
them. Call read() to prevent poll() from firing.
(struct Collector): New members map_area and current.

* Makefile.am (insert-module): Prefix modprobe with /sbin

* collector.c (open_fd): mmap() the sysprof device.

18 years agoSkip nodes that don't have a parent.
Soren Sandmann [Thu, 12 Oct 2006 03:45:21 +0000 (03:45 +0000)]
Skip nodes that don't have a parent.

2006-10-11  Soren Sandmann <sandmann@daimi.au.dk>

* profile.c (profile_list_callers): Skip nodes that don't have a
parent.

18 years agoMake this function return a list of immediate callers again.
Soren Sandmann [Wed, 11 Oct 2006 05:37:24 +0000 (05:37 +0000)]
Make this function return a list of immediate callers again.

2006-10-09  Soren Sandmann <sandmann@daimi.au.dk>

* profile.c (profile_list_callers): Make this function return a
list of immediate callers again.

* sysprof.c (build_gui): Change label back to "Callers"

* process.c (get_kernel_symbols): Only attempt to read the kernel
symbols once.

18 years ago+2006-10-09 Soren Sandmann <sandmann@redhat.com>
Søren Sandmann Pedersen [Tue, 10 Oct 2006 00:52:44 +0000 (00:52 +0000)]
+2006-10-09  Soren Sandmann <sandmann@redhat.com>
+
+       * binfile.c (bin_file_get_inode): Remove this function
+
+       * binfile.c (bin_file_check_inode): New function. Only print inode
+       warning once per BinFile.
+
+       * process.c (process_get_vdso_bytes): Remove debug spew
+

18 years agoNew function.
Soren Sandmann [Mon, 9 Oct 2006 21:32:24 +0000 (21:32 +0000)]
New function.

2006-10-09  Soren Sandmann  <ssp@localhost.localdomain>

* process.c (process_get_vdso_bytes): New function.

* elfparser.c (parser_new_from_data): export this function as
elf_parser_new_from_data().

* binfile.c (read_inode): Don't stat if filename is
'[vdso]'. Instead just return -1;
(bin_file_new): Use elf_parser_new_from_data() when the file is
[vdso].

* process.c (read_maps): Change the offset of the vdso map to 0
and the inode to -1.

* elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
variable.

* binfile.c (find_separate_debug_file): Deal with cycles in the
debuglink graph.

* configure.ac: Set version to 1.1.0. Print warning about HEAD.

18 years agoDon't include bfd.h
Soren Sandmann [Mon, 9 Oct 2006 02:25:46 +0000 (02:25 +0000)]
Don't include bfd.h

2006-10-08   Soren Sandmann <sandmann@daimi.au.dk>

* binfile.c: Don't include bfd.h

18 years agoNew function to support --version option
Soren Sandmann [Sun, 8 Oct 2006 22:05:47 +0000 (22:05 +0000)]
New function to support --version option

2006-10-08  Soren Sandmann <sandmann@redhat.com>

* sysprof.c (process_options): New function to support --version option

18 years agoAdd a cache of the text section.
Soren Sandmann [Sun, 8 Oct 2006 20:14:25 +0000 (20:14 +0000)]
Add a cache of the text section.

2006-10-08  Soren Sandmann  <sandmann@redhat.com>

* elfparser.c (struct ElfParser): Add a cache of the text section.

* binparser.c (struct BinParser): Add a cache of a bin record to
get rid of malloc()/free() overhead.

* elfparser.c (struct ElfSym): Cache the size of the symbol

18 years agoRemove now unused load-address heuristic
Soren Sandmann [Sun, 8 Oct 2006 18:50:10 +0000 (18:50 +0000)]
Remove now unused load-address heuristic

2006-10-08  Soren Sandmann <sandmann@redhat.com>

* elfparser.c: Remove now unused load-address heuristic

* comment out debug spew

18 years agoUse "SHT_DYNSYM" for ".dynsym".
Soren Sandmann [Sun, 8 Oct 2006 18:09:17 +0000 (18:09 +0000)]
Use "SHT_DYNSYM" for ".dynsym".

2006-10-08  Soren Sandmann <sandmann@redhat.com>

* elfparser.c (read_symbols): Use "SHT_DYNSYM" for ".dynsym".

18 years agoSupport _debuglink recursions.
Soren Sandmann [Sun, 8 Oct 2006 17:45:09 +0000 (17:45 +0000)]
Support _debuglink recursions.

2006-10-08  Soren Sandmann <sandmann@daimi.au.dk>

* binfile.c (find_separate_debug_file): Support _debuglink
recursions.

* elfparser.c: Check that the sections have valid types before
using them.

18 years agoDelete debug spew
Søren Sandmann Pedersen [Sun, 8 Oct 2006 04:07:18 +0000 (04:07 +0000)]
Delete debug spew

18 years agoDeal with address offsets. Address lookup is now:
Soren Sandmann [Sun, 8 Oct 2006 04:03:02 +0000 (04:03 +0000)]
Deal with address offsets. Address lookup is now:

2006-10-07  Soren Sandmann  <sandmann@daimi.au.dk>

Deal with address offsets. Address lookup is now:

- First convert the address to an offset into the file
- Then convert to an offset into the text segment
- Then add the load address of the text segment (found in the
debug binary)
- Then finally lookup the result in the symbol table.

* elfparser.c (elf_parser_get_text_offset): New function

* elfparser.c (elf_parser_lookup_symbol): Treat addresses as
offsets into the text segment.

* binfile.c (bin_file_new): Store the offset of the text section
of the actual binary (not the debug one)

(bin_file_lookup_symbol): Subtract text_offset before passing
address to elf parser.

* module/sysprof-module.c: Remove include of linux/config.h