Commit Graph

20 Commits

Author SHA1 Message Date
4dd37d092c 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.
2006-10-23 03:46:25 +00:00
8f4d731788 Revert accidental commit 2006-09-23 00:57:20 +00:00
b7cf5d34b8 Remove old commented out code
2006-08-27  Soren Sandmann <sandmann@redhat.com>

	* binparser.c: Remove old commented out code

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

	* module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h

	* elfparser.c (elf_parser_get_eh_frame): Add this function.
	Remove some commented out code.
2006-09-23 00:54:01 +00:00
62c86a1951 Demangle instead of strdup.
2006-08-22  Soren Sandmann <sandmann@daimi.au.dk>

	* collector.c (unique_dup): Demangle instead of strdup.
2006-08-26 16:27:00 +00:00
a880ee7f60 Make process_lookup_symbol() return a string. Delete
2006-08-20  Soren Sandmann  <sandmann@daimi.au.dk>

	* process.h: Make process_lookup_symbol() return a string. Delete
	process_lookup_symbol_with_filename().

	* process.c (struct Process): Make "undefined" a string
	(lookup_kernel_symbol): Return a string
	(process_lookup_symbol): Return a string, not a symbol

	* collector.c (unique_dup): Take a string instead of a
	Symbol.
	(lookup_symbol): Make sym a string instead of a Symbol.

	* binfile.c (bin_symbol_get_name): New function.

	* binfile.[ch] (struct BinSymbol): Rename Symbol to BinSymbol and
	make it an opaque structure.

	* binfile.[ch]: Remove unused symbol operations
2006-08-21 02:33:38 +00:00
d43cdf3c14 Add a destroy notifier to StackStash
2006-07-31  Soren Sandmann <sandmann@redhat.com>

	* stackstash.[ch]: Add a destroy notifier to StackStash

	* collector.c (collector_create_profile): Pass g_free as destroy
	notifier.

	* collector.c (collector_reset): Pass NULL as destroy notifier

	* profile.c (profile_load): Pass g_free here.

	* profile.c (struct Profile): Remove unused "Node" typedef

	* collector.c (resolve_symbols): Free the array here.

	* TODO: various updates.
2006-07-31 04:50:34 +00:00
9859854cc1 updates
2006-03-11 Soren Sandmann <sandmann@redhat.com>

	* TODO: updates

	* stackstash.[ch]: Make stackstash refcounted

	* collector.c, profile.c: Update for refcounted stackstash, plug
	leak.

	* collector.c (open_fd): Remove FIXME comment
2006-03-12 04:00:23 +00:00
849efc820d Do proper error-handling.
2006-03-05 Soeren Sandmann <sandmann@redhat.com>

        * sysprof-text.c, collector.c, sysprof.c: Do proper
        error-handling.
2006-03-05 21:11:07 +00:00
9125c4e644 updates
Fri Jan 13 23:11:33 2006  Søren Sandmann  <sandmann@redhat.com>

	* TODO: updates
2006-01-14 04:12:12 +00:00
2d525523f8 Initialize retval.
Fri Jan 13 22:59:48 2006  Soeren Sandmann  <sandmann@redhat.com>

	* module/sysprof-module.c (sysprof_open): Initialize retval.

	* module/sysprof-module.c (sysprof_read): Copy contents of trace,
	not tail to the buffer.
2006-01-14 04:00:59 +00:00
779b537f2b Remove debug spew.
Wed Jan 11 17:51:54 2006  Søren Sandmann  <sandmann@redhat.com>

	* collector.c: Remove debug spew.

	* TODO: updates
2006-01-11 22:53:08 +00:00
5a8582b041 Resurrect this function.
Sun Jan  8 03:22:22 2006  Soeren Sandmann  <sandmann@redhat.com>

	* process.c (process_flush_caches): Resurrect this function.

	* collector.c (collector_reset): Call it from here
2006-01-08 08:22:47 +00:00
c5172c58e6 Updates
Tue Dec 20 16:03:29 2005  Soeren Sandmann  <sandmann@redhat.com>

	* TODO: Updates

	* sysprof-text.c (main): Make it try and load the module before
	complaining.
2005-12-20 20:51:39 +00:00
ad5ffd749b Dist and install udev rule.
2005-12-20  Kristian Høgsberg  <krh@redhat.com>

        * Makefile.am: Dist and install udev rule.

        * collector.c: (open_fd):
        * sysprof-text.c: (no_module):
        * sysprof.c: (on_start_toggled): Update device filename.

        * 60-sysprof.rules: New udev rule file to set permissions for
        sysprof char device.

        * module/sysprof-module.c: Switch kernel module to use a misc char
        device instead.  Start and stop the timer on device open and
        close instead of module load and unload.
2005-12-20 17:55:03 +00:00
3a306d20d0 great-sage-equal-to-heaven:~/vertigo/sysprof% head -13 ChangeLog
Sat Nov 12 19:44:43 2005  Søren Sandmann  <sandmann@redhat.com>

        * module/sysprof-module.c (read_frame): New function that uses
        copy_from_user_inatomic() as check_user_pages_readable() has
        disappeared in recent kernels.

        * module/sysprof-module.c (timer_notify): Use it here.

        * TODO: Updates

        * configure.ac: Change the wording of the CVS HEAD warning as this
        change seems to also have fixed the lockup with rawhide kernels.
2005-11-13 00:46:08 +00:00
fe5dd1e1fa Sun Nov 6 Soeren Sandmann <sandmann@redhat.com>
Sun Nov  6  Soeren Sandmann  <sandmann@redhat.com>

        * TODO: updates

        * collector.c (on_read): Only call back when a new sample actually
        arrived.

        * collector.c (collector_stop): close the filedescriptor

        * sysprof.c (on_start_toggled): Change sense of test.

        * sysprof.c (ensure_profile): Stop the collector.

        * sysprof.c (on_reset_clicked): Stop the collector when state
        becomes INITIAL.
2005-11-07 02:27:55 +00:00
64b2627c4a Make these function call back with GLists rather than GSLists.
Sun Nov  6 18:31:23 2005  Soeren Sandmann  <sandmann@redhat.com>

        * stackstash.c (stack_stash_foreach):
        * stackstash.c (stack_node_foreach_trace): Make these function
        call back with GLists rather than GSLists.

        * profile.c (add_trace_to_tree): Iterate backwards instead of
        copying the list.
2005-11-06 23:27:17 +00:00
cf761a2a70 Add copyright statement.
2005-11-04  Soren Sandmann  <sandmann@redhat.com>

        * collector.[ch]: Add copyright statement.

        * collector.c (on_read): Handle time getting set backwards.

        * collector.c: Remove unused empty_filedescriptor() function.
2005-11-05 04:58:16 +00:00
c778a1b1ec Add "total" field.
Mon Oct 31 23:41:33 2005  Soeren Sandmann  <sandmann@redhat.com>

        * stackstash.h (struct StackNode): Add "total" field.

        * stackstash.c (stack_stash_add_trace): Keep track of the
        aggregate size.

        * profile.c (profile_get_size): Sum the totals of the siblings
        instead of all the children.

        * profile.c (build_object_list): Correctly compute obj->self

        * profile.c (profile_load): Don't ignore the node->total field.

        * profile.c (serialize_call_tree): Save node->total instead of the
        computed total

        * profile.c (compute_total): Use n->total instead of computing it
        from scratch.

        * profile.c: Remove unused sum_children() function.

        * TODO: Updates

        * process.c (process_get_from_pid): Plug leak.
2005-11-01 04:37:16 +00:00
dff4affaab Merge stackstash-reorg branch into HEAD
2005-10-30  Soren Sandmann <sandmann@redhat.com>

	* Merge stackstash-reorg branch into HEAD
2005-10-30 20:14:31 +00:00