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-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
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.
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
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 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.
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.
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.
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.
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.