Commit Graph

351 Commits

Author SHA1 Message Date
d2a6151f8d 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
2008-03-29 16:00:33 +00:00
72ef8ca8c6 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
2008-03-29 12:14:13 +00:00
ae59a75be4 Remove unnecessary show_samples
svn path=/trunk/; revision=403
2008-03-24 03:04:14 +00:00
26822b100c +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
2008-03-24 03:00:49 +00:00
c2de993836 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
2008-03-20 09:49:46 +00:00
83fd2bbc31 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
2008-03-20 07:19:13 +00:00
542967b1f7 Update a comment
svn path=/trunk/; revision=399
2008-03-02 00:08:21 +00:00
a585265cee 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
2008-02-24 00:53:29 +00:00
b98db05f9b 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
2008-02-17 23:31:19 +00:00
9d2f7a1a9d 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
2008-02-16 15:54:40 +00:00
64d220e346 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
2007-11-20 23:50:21 +00:00
d3b5cc446f Update TODO
svn path=/trunk/; revision=394
2007-11-19 17:56:02 +00:00
8d73f2d391 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
2007-11-19 03:34:19 +00:00
05c4a202b3 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
2007-11-18 23:11:52 +00:00
a68837a3ad 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
2007-11-18 18:29:34 +00:00
f7a138fa15 +2007-11-17 Soren Sandmann <sandmann@daimi.au.dk>
+
+       * collector.c (collector_create_profile): Don't collect traces here.
+


svn path=/trunk/; revision=390
2007-11-17 06:23:39 +00:00
41efdc9c7e 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
2007-11-17 03:48:31 +00:00
c00ccd69c7 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
2007-11-17 02:53:22 +00:00
d82fe2e474 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
2007-11-16 07:47:22 +00:00
0118fb459b Update TODO
svn path=/trunk/; revision=386
2007-10-30 01:48:27 +00:00
1867b97a8d 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
2007-10-25 02:45:54 +00:00
97076b7d0f 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
2007-10-22 14:11:01 +00:00
002f00a950 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
2007-10-22 13:48:30 +00:00
686baf3304 Add ChangeLog
svn path=/trunk/; revision=382
2007-10-22 04:41:58 +00:00
a7b39cf517 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
2007-10-22 04:41:27 +00:00
e33a7f9a2f Add notes about releasing
svn path=/trunk/; revision=380
2007-10-21 22:24:47 +00:00
6af2993c72 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
2007-10-21 21:35:39 +00:00
476e6f0c1b 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
2007-10-20 23:51:35 +00:00
f1cbdbf27c 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
2007-09-17 01:43:07 +00:00
39cb26654a 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
2007-08-26 05:41:59 +00:00
4194371d52 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
2007-08-26 04:27:08 +00:00
474636c189 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
2007-08-26 04:06:44 +00:00
39577811d3 TODO updates
svn path=/trunk/; revision=368
2007-08-26 03:55:15 +00:00
8af6c38541 Update TODO
svn path=/trunk/; revision=367
2007-08-11 23:08:58 +00:00
ef23082882 Update TODO
svn path=/trunk/; revision=366
2007-08-11 23:06:08 +00:00
f482ac7885 Add MAINTAINERS
svn path=/trunk/; revision=365
2007-08-08 14:40:48 +00:00
bf65f08594 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
2007-08-04 19:54:17 +00:00
6d96c33032 + * 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
2007-03-24 17:56:20 +00:00
0cc4c86195 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
2007-03-24 17:53:43 +00:00
7b821752f9 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
2007-03-05 21:53:57 +00:00
7800fcd870 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
2007-03-02 06:36:34 +00:00
bbed8de81e Remove FIXME.
2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>

        * collector.c (collector_create_profile): Remove FIXME.



svn path=/trunk/; revision=359
2007-03-02 06:30:42 +00:00
ca78960214 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
2007-03-02 06:27:05 +00:00
aaa145ea9b 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
2007-03-02 06:21:37 +00:00
5ee13adc34 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
2007-03-02 05:23:30 +00:00
6fa782dcd6 svn path=/trunk/; revision=355
svn path=/trunk/; revision=355
2007-02-25 04:15:51 +00:00
cf70d3a7ed 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
2007-02-24 08:49:51 +00:00
bc004a104e include correct header file
svn path=/trunk/; revision=353
2007-02-24 08:35:48 +00:00
494e40a912 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
2007-02-24 07:15:24 +00:00
ea18b8e991 svn path=/trunk/; revision=351
svn path=/trunk/; revision=351
2007-02-09 22:04:45 +00:00