Use an array instead of list of maps.
[platform/upstream/sysprof.git] / ChangeLog
1 2006-10-24  Soren Sandmann <sandmann@daimi.au.dk>
2
3         * process.c (struct Process): Use an array instead of list of
4         maps.
5
6 2006-10-23  Soren Sandmann <sandmann@daimi.au.dk>
7
8         * module/sysprof-module.c (init_module): Use PAGE_SIZE - 1 instead
9         of 4096.
10
11 2006-10-22  Soren Sandmann <sandmann@daimi.au.dk>
12
13         Communicate traces to userspace through shared memory instead of 
14         copying.
15         
16         * module/sysprof-module.c: Store the traces in a SysprofMmapArea.
17         (sysprof_mmap): Implement this method.
18         (sysprof_nopage): Implement this. 
19         (sysprof_read): Just reset the tail pointer and return zero.
20
21         * module/sysprof-module.h (struct SysprofMmapArea): New
22         structure. 
23
24         * collector.c (collector_stop): Unmap the device
25         (in_dead_period): New function
26         (on_read): Read the traces out of mmap()ed area instead of reading
27         them. Call read() to prevent poll() from firing. 
28         (struct Collector): New members map_area and current.
29
30         * Makefile.am (insert-module): Prefix modprobe with /sbin
31
32         * collector.c (open_fd): mmap() the sysprof device. 
33
34 2006-10-11  Soren Sandmann <sandmann@daimi.au.dk>
35
36         * profile.c (profile_list_callers): Skip nodes that don't have a
37         parent.
38
39 2006-10-09  Soren Sandmann <sandmann@daimi.au.dk>
40
41         * profile.c (profile_list_callers): Make this function return a
42         list of immediate callers again. 
43
44         * sysprof.c (build_gui): Change label back to "Callers"
45
46         * process.c (get_kernel_symbols): Only attempt to read the kernel
47         symbols once.
48
49 2006-10-09  Soren Sandmann <sandmann@redhat.com>
50
51         * binfile.c (bin_file_get_inode): Remove this function
52
53         * binfile.c (bin_file_check_inode): New function. Only print inode
54         warning once per BinFile.
55
56         * process.c (process_get_vdso_bytes): Remove debug spew
57
58 2006-10-09  Soren Sandmann  <ssp@localhost.localdomain>
59
60         * process.c (process_get_vdso_bytes): New function.
61
62         * elfparser.c (parser_new_from_data): export this function as
63         elf_parser_new_from_data(). 
64
65         * binfile.c (read_inode): Don't stat if filename is
66         '[vdso]'. Instead just return -1;
67         (bin_file_new): Use elf_parser_new_from_data() when the file is
68         [vdso]. 
69
70         * process.c (read_maps): Change the offset of the vdso map to 0
71         and the inode to -1.
72
73         * elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
74         variable.
75
76         * binfile.c (find_separate_debug_file): Deal with cycles in the
77         debuglink graph.
78
79         * configure.ac: Set version to 1.1.0. Print warning about HEAD.
80
81 2006-10-08  Soren Sandmann  <ssp@localhost.localdomain>
82
83         * binfile.c: Don't include bfd.h
84
85 2006-10-08  Soren Sandmann <sandmann@redhat.com> 
86
87         * sysprof.c (process_options): New function to support --version option
88
89 2006-10-08  Soren Sandmann  <sandmann@redhat.com>
90
91         * elfparser.c (struct ElfParser): Add a cache of the text section.
92
93         * binparser.c (struct BinParser): Add a cache of a bin record to
94         get rid of malloc()/free() overhead.
95
96         * elfparser.c (struct ElfSym): Cache the size of the symbol
97
98 2006-10-08  Soren Sandmann <sandmann@redhat.com>
99
100         * elfparser.c: Remove now unused load-address heuristic
101
102         * comment out debug spew
103
104 2006-10-08  Soren Sandmann <sandmann@redhat.com>
105
106         * elfparser.c (read_symbols): Use "SHT_DYNSYM" for ".dynsym".
107
108 2006-10-08  Soren Sandmann <sandmann@daimi.au.dk>
109
110         * binfile.c (find_separate_debug_file): Support _debuglink
111         recursions.
112
113         * elfparser.c: Check that the sections have valid types before
114         using them. 
115
116 2006-10-08  Soren Sandmann  <sandmann@daimi.au.dk>
117
118         * Delete various debug spew
119
120 2006-10-07  Soren Sandmann  <sandmann@daimi.au.dk>
121
122         Deal with address offsets. Address lookup is now:
123
124         - First convert the address to an offset into the file
125         - Then convert to an offset into the text segment
126         - Then add the load address of the text segment (found in the
127         debug binary)
128         - Then finally lookup the result in the symbol table.
129         
130         * elfparser.c (elf_parser_get_text_offset): New function
131
132         * elfparser.c (elf_parser_lookup_symbol): Treat addresses as
133         offsets into the text segment.
134
135         * binfile.c (bin_file_new): Store the offset of the text section
136         of the actual binary (not the debug one)
137
138         (bin_file_lookup_symbol): Subtract text_offset before passing
139         address to elf parser. 
140
141         * module/sysprof-module.c: Remove include of linux/config.h
142
143 2006-08-27  Soren Sandmann <sandmann@redhat.com>
144
145         * binparser.c: Remove old commented out code
146         * module/sysprof-module.c: Add commented out code accessing entire
147         stack. 
148
149 2006-08-27  Soren Sandmann  <sandmann@redhat.com>
150
151         * module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h
152
153         * elfparser.c (elf_parser_get_eh_frame): Add this function.
154         Remove some commented out code.
155
156 Sat Aug 26 19:05:51 2006  Søren Sandmann  <sandmann@redhat.com>
157
158         * Formatting fixes in header files.
159
160 2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
161
162         * elfparser.c: Update to new API
163         
164         * binparser.h: Delete commented out declarations. Add new
165         functions.
166
167         * binparser.c: Delete ParserFrame, replace with one current
168         offset. 
169         (convert_uint): Make static
170         (bin_parser_get_uint): Delete this function
171         (bin_parser_get_string): Change this function to use current
172         offset instead of frame offset.
173         (bin_parser_goto): New function
174         (bin_parser_align): New function
175         (bin_parser_get_uint32): New function
176         (bin_parser_begin): Delete this function
177         (bin_parser_end): Delete this function
178         (bin_parser_index): Delete this function
179         (bin_record_get_string_indirect): Make this function use _goto()
180         instead of _begin()/_end()
181         (bin_parser_get_offset): Make this function return current offset
182
183 2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
184
185         * binparser.[ch]: Add new struct BinRecord. Comment out functions
186         related to formats. Add new functions to get fields out of
187         BinRecords.
188
189         * elfparser.c: Update to new API.
190
191 2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
192
193         * binparser.h: Add new bin_record() functions
194         * binparser.c: Implement them.
195
196 2006-08-22  Soren Sandmann <sandmann@daimi.au.dk>
197
198         * collector.c (unique_dup): Demangle instead of strdup.
199
200 2006-08-21  Soren Sandmann <sandmann@redhat.com>
201
202         * elfparser.[ch]
203         (elf_parser_get_sym_name): Rename elf_sym_get_* to
204         elf_parser_get_sym_* and make these functions take a parser.
205         (parser_from_sym): Delete this function.
206         (elf_parser_new): Don't add to all_elf_parsers
207         (elf_parser_free): Don't remove from all_elf_parsers
208         (elf_parser_new): Rename to parser_new_from_file()
209         (elf_parser_new_from_file): Rename to elf_parser_new
210
211         * binfile.c: Update for new elfparser API
212
213         * TODO: updates
214
215 2006-08-21  Soren Sandmann <sandmann@redhat.com>
216
217         * binfile.c (struct BinFile): Add ref_count and filename
218         (bin_files): Add map from filenames to BinFiles
219         (bin_file_new): First look for BinFile in the cache.
220         (bin_file_free): If refcount reaches 0, remove BinFile from cache.
221         
222         * TODO: Updates
223
224 2006-08-21  Soren Sandmann <sandmann@redhat.com>
225
226         * process.c (process_lookup_symbol): Pass map->bin_file to
227         bin_symbol_get_name.
228
229         * binfile.h (bin_symbol_get_name): Add BinFile parameter
230
231         * elfparser.c (elf_demangle): Use options DMGL_PARAMS | DMGL_ANSI
232
233         * TODO: Updates
234
235         * binfile.c: Rewrite this file to use ElfParser instead of libbfd.
236
237         * configure.ac: Drop dependencies on libbfd and libiberty.
238
239 2006-08-21  Soren Sandmann <sandmann@redhat.com>
240
241         * TODO: Update
242
243         * elfparser.c (elf_parser_lookup_symbol): Change sense of size
244         check.
245
246 2006-08-20  Soren Sandmann <sandmann@redhat.com>
247
248         * elfparser.c (elf_parser_get_crc32): Initialize crc to 0xffffffff
249         and invert it before returning.
250
251         * elfparser.h: Declare elf_parser_get_debug_link()
252
253 2006-08-20  Soren Sandmann  <sandmann@daimi.au.dk>
254
255         * elfparser.c (elf_parser_get_load_address): Comment out debug spew.
256         (elf_parser_lookup_symbol): Add check that address is actually
257         within the bounds of the found function.
258
259 2006-08-20  Soren Sandmann  <sandmann@daimi.au.dk>
260
261         * process.h: Make process_lookup_symbol() return a string. Delete
262         process_lookup_symbol_with_filename().
263
264         * process.c (struct Process): Make "undefined" a string
265         (lookup_kernel_symbol): Return a string 
266         (process_lookup_symbol): Return a string, not a symbol
267
268         * collector.c (unique_dup): Take a string instead of a
269         Symbol. 
270         (lookup_symbol): Make sym a string instead of a Symbol.
271
272         * binfile.c (bin_symbol_get_name): New function.
273
274         * binfile.[ch] (struct BinSymbol): Rename Symbol to BinSymbol and
275         make it an opaque structure.
276
277         * binfile.[ch]: Remove unused symbol operations
278
279 2006-08-20  Soren Sandmann <sandmann@daimi.au.dk>
280
281         * elfparser.c (elf_parser_new_from_file): New function
282
283 2006-08-20   Soren Sandmann <sandmann@daimi.au.dk>
284
285         * elfparser.c (elf_parser_get_debug_link): New function
286
287         * elfparser.c: Delete SymbolTable typedef
288
289         * binparser.[ch] (bin_parser_get_data): New function
290         (bin_parser_get_length): New function
291
292         * elfparser.[ch] (elf_parser_get_crc32): New function
293
294         * TODO: Updates
295
296         * elfparser.c (elf_parser_lookup_symbol): Offset passed in
297         addresses by the load address.
298
299         * elfparser.c (elf_parser_get_load_address): New function to
300         compute the load address of the beginning of the file.
301
302 2006-08-20  Soren Sandmann  <sandmann@redhat.com>
303
304         * elfparser.c (elf_sym_get_name): Read the name out of the file
305         instead of out of the struct.
306
307         * elfparser.c (struct ElfSym): Store an offset instead of the
308         name. 
309
310         * elfparser.c (all_elf_parsers): Keep track of all elf parsers
311         created.
312         
313 2006-08-20  Soren Sandmann  <sandmann@redhat.com>
314
315         * Makefile.am, demangle.c: New file, made out of files from
316         libiberty in binutils.
317
318         * binfile.c: Use the new sysprof_cplus_demangle() function
319         
320         * elfparser.[ch]: Add code to lookup symbols. Add demangling
321         function
322
323         * testelf.c: Various tests
324
325 2006-08-19  Soren Sandmann  <sandmann@redhat.com>
326
327         * elfparser.c: Many cleanups.
328
329 2006-08-16  Soren Sandmann  <sandmann@redhat.com>
330
331         * testelf.c: Really add this file.
332
333 2006-08-15  Soren Sandmann  <sandmann@redhat.com>
334
335         Add beginning of an ELF parser.
336         
337         * binparser.[ch]: New files
338         * elfparser.[ch]: New files
339         * testelf.c: New file
340         * Makefile.am (testelf_SOURCES): Add new testelf program.
341
342 Sat Aug 12 16:13:05 2006  Søren Sandmann  <sandmann@redhat.com>
343
344         * module/sysprof-module.c: Make n_samples per-cpu. Add an atomic
345         variable in_timer_notify and use it to lock out simultaneous timer
346         interrupts.
347
348         * stackstash.c (decorate_node): Make decorate_node() static
349
350         * TODO
351
352 Fri Aug 11 11:41:15 2006  Søren Sandmann  <sandmann@redhat.com>
353
354         * TODO: Updates
355
356 2006-08-08  Soren Sandmann  <ssp@localhost.localdomain>
357
358         * sysprof.c (main): Make the load_file() idle low priority to
359         avoid weird toolbar flash. 
360
361         * TODO, NEWS, README: updates.
362
363 2006-07-31  Paolo Borelli  <pborelli@katamail.com>
364
365         * sysprof.c (expand_descendants_tree): small cleanup.
366
367 2006-07-31  Soren Sandmann <sandmann@redhat.com>
368
369         * stackstash.[ch]: Add a destroy notifier to StackStash
370
371         * collector.c (collector_create_profile): Pass g_free as destroy
372         notifier.
373
374         * collector.c (collector_reset): Pass NULL as destroy notifier
375
376         * profile.c (profile_load): Pass g_free here.
377
378         * profile.c (struct Profile): Remove unused "Node" typedef 
379
380         * collector.c (resolve_symbols): Free the array here.
381
382         * TODO: various updates.
383         
384 2006-07-30  Soren Sandmann <sandmann@redhat.com>
385
386         * signal-handler.c: Simplify this file a bit, and make it not rely
387         on atomic pointer writes.
388
389 2006-07-18  Bastien Nocera  <hadess@hadess.net>
390
391         * configure.ac: we need at least glib 2.6.0 for the gstdio.h functions
392
393 2006-06-05  Soren Sandmann <sandmann@redhat.com>
394
395         * TODO: Updates
396
397 Sat Apr 22 15:08:01 2006  Soeren Sandmann  <sandmann@redhat.com>
398
399         * TODO: updates
400         * profile.c, sfile.c, sformat.c: Various formatting fixes.
401
402 Wed Apr  5 11:26:30 2006  Søren Sandmann  <sandmann@redhat.com>
403
404         * TODO: updates
405
406 Mon Mar 27 23:04:30 2006  Soeren Sandmann  <sandmann@redhat.com>
407
408         * TODO: Updates.
409
410         * sfile.c (handle_{begin,end}_element): Don't generate begin/end
411         instructions for value elements.
412
413         * sfile.c (build_instructions): Remove debugging spew.
414
415 Mon Mar 27 21:44:04 2006  Soeren Sandmann  <sandmann@redhat.com>
416
417         * sformat.[ch]: New files containing a simplified and sanitized
418         version of the state machine and type system from sfile.c.
419         
420         * sfile.c: Move the state machine and type management to separate
421         files. Make the amount of memory used during loading and saving
422         less obscene.
423
424         * stackstash.c (stack_stash_new_from_root): Make this function
425         store the root again.
426
427 Mon Mar 27 09:55:01 2006  Søren Sandmann  <sandmann@redhat.com>
428
429         * TODO: updates
430
431 2006-03-11 Soren Sandmann <sandmann@redhat.com>
432
433         * TODO: updates
434         
435         * stackstash.[ch]: Make stackstash refcounted
436
437         * collector.c, profile.c: Update for refcounted stackstash, plug
438         leak.
439
440         * collector.c (open_fd): Remove FIXME comment
441
442 2006-03-05 Soeren Sandmann <sandmann@redhat.com>
443
444         * sysprof-text.c, collector.c, sysprof.c: Do proper
445         error-handling.
446
447 Fri Mar  3 22:28:03 2006  Soeren Sandmann  <sandmann@redhat.com>
448
449         * process.c (process_lookup_symbol): Check that the inodes match.
450
451         * binfile.c (read_symbols): Read the inode of the file
452
453         * binfile.c (read_symbols): Close the bfd if the symbol table
454         could not be read.
455
456 Thu Mar  2 22:54:37 2006  Soeren Sandmann  <sandmann@redhat.com>
457
458         * treeviewutils.c (tree_view_foreach_visible): Handle NULL models.
459
460         * sysprof.glade, sysprof.c: Revert back to three pane layout.
461
462 2006-02-17  Bastien Nocera  <hadess@hadess.net>
463
464         * configure.ac:
465         * module/sysprof-module.c: (timer_notify), (sysprof_open),
466         (sysprof_release): more ifdef's to make it work with Red Hat
467         Enterprise Linux 4's 2.6.9-based kernel
468
469 Sat Feb  4 23:53:05 2006  Søren Sandmann  <sandmann@redhat.com>
470
471         * sysprof.glade: Remove ancestors pane in favor of radiobuttons in
472         the right pane.
473
474         * sysprof.c: Corresponding changes.
475
476         * TODO: Updates
477
478 Wed Jan 25 11:24:04 2006  Søren Sandmann  <sandmann@redhat.com>
479
480         * TODO: Updates
481
482 Mon Jan 16 11:12:13 2006  Søren Sandmann  <sandmann@redhat.com>
483
484         * TODO: Updates
485
486 Sun Jan 15 20:22:20 2006  Soeren Sandmann  <sandmann@redhat.com>
487
488         * module/sysprof-module.c (init_module): Print out sysprof version
489         at module load time.
490
491 Sun Jan 15 00:24:02 2006  Soeren Sandmann  <sandmann@redhat.com>
492
493         * TODO: Updates
494
495         * sysprof.c (build_gui): Rename 'callers' column 'ancestors'
496
497         * profile.c (profile_list_callers): Make this function list all
498         ancestors of the function. Also make it report correct numbers
499         again. 
500
501         * profile.c (profile_create_descendants): Remove debug spew
502
503 Sat Jan 14 18:24:43 2006  Soeren Sandmann  <sandmann@redhat.com>
504
505         * configure.ac, Makefile.am: Only build GUI when the necessary
506         dependencies are found.
507
508         * sysprof.c (compute_text_width): Remove unused variable
509
510         * profile.c (build_object_list): Follow next instead of siblings.
511
512 Fri Jan 13 23:11:33 2006  Søren Sandmann  <sandmann@redhat.com>
513
514         * TODO: updates
515
516 Fri Jan 13 22:59:48 2006  Soeren Sandmann  <sandmann@redhat.com>
517
518         * module/sysprof-module.c (sysprof_open): Initialize retval.
519
520         * module/sysprof-module.c (sysprof_read): Copy contents of trace,
521         not tail to the buffer.
522
523 Wed Jan 11 20:31:11 2006  Søren Sandmann  <sandmann@redhat.com>
524
525         * process.c (read_maps): Also make offset a gulong (Samuel Mimram)
526
527 Wed Jan 11 17:51:54 2006  Søren Sandmann  <sandmann@redhat.com>
528
529         * collector.c: Remove debug spew. 
530
531         * TODO: updates
532
533 Mon Jan  9 09:58:25 2006  Soeren Sandmann  <sandmann@redhat.com>
534
535         * module/sysprof-module.c (timer_notify): Remove START_OF_STACK
536         check.
537
538 Mon Jan  9 00:59:21 2006  Soeren Sandmann  <sandmann@redhat.com>
539
540         * process.c (read_maps): Use gulong for addresses. Bug reported by
541         Martin Reddy.
542
543 Sun Jan  8 03:22:22 2006  Soeren Sandmann  <sandmann@redhat.com>
544
545         * process.c (process_flush_caches): Resurrect this function.
546
547         * collector.c (collector_reset): Call it from here
548
549 Sun Jan  8 02:19:34 2006  Soeren Sandmann  <sandmann@redhat.com>
550
551         * TODO: update
552
553 Thu Jan  5 17:52:10 2006  Søren Sandmann  <sandmann@redhat.com>
554
555         * TODO: small updates
556         * sysprof.c: cosmetic updates
557         * module/sysprof-module.c: cosmetic updates
558
559 2005-12-20  Kristian Høgsberg  <krh@redhat.com>
560
561         * module/sysprof-module.c: Remove left over debug print out and
562         add support for multiple clients (readers).
563
564 Tue Dec 20 16:03:29 2005  Soeren Sandmann  <sandmann@redhat.com>
565
566         * TODO: Updates
567
568         * sysprof-text.c (main): Make it try and load the module before
569         complaining.
570
571 2005-12-20  Kristian Høgsberg  <krh@redhat.com>
572
573         * Makefile.am: Dist and install udev rule.
574
575         * collector.c: (open_fd):
576         * sysprof-text.c: (no_module):
577         * sysprof.c: (on_start_toggled): Update device filename.
578
579         * 60-sysprof.rules: New udev rule file to set permissions for
580         sysprof char device.
581
582         * module/sysprof-module.c: Switch kernel module to use a misc char
583         device instead.  Start and stop the timer on device open and
584         close instead of module load and unload.
585
586 Tue Dec 20 12:19:34 2005  Søren Sandmann  <sandmann@redhat.com>
587
588         * configure.ac: Add backslashes, pointed out by Ralph Siemsen.
589
590 Mon Dec 19 17:39:09 2005  Søren Sandmann  <sandmann@redhat.com>
591
592         * sysprof.c (add_text): Make the tree tree-shapeed.
593
594 Mon Dec 19 15:15:48 2005  Søren Sandmann  <sandmann@redhat.com>
595
596         * module/sysprof-module.c (timer_notify): A few formatting
597         fixes. Hopefully make it work with x86-64.
598
599 2005-11-29  Soeren Sandmann  <sandmann@redhat.com>
600
601         * sysprof.c (on_descendants_row_expanded_or_collapsed): New
602         function. Update screenshot window when rows are expanded and
603         collapsed.
604
605 2005-11-23  Soeren Sandmann  <sandmann@redhat.com>
606
607         * sysprof.c (update_screenshot_window): Update the screenshot
608         window.
609
610 Wed Nov 23 00:44:34 2005  Soeren Sandmann  <sandmann@redhat.com>
611
612         * module/sysprof-module.c: Various cleanups
613
614         * TODO: updates
615
616 Tue Nov 22 23:38:09 2005  Soeren Sandmann  <sandmann@redhat.com>
617
618         * module/sysprof-module.c: Remove unused pages_present()
619         function. 
620
621 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
622
623         * configure.ac: Make configure work.
624
625 2005-11-13  Soeren Sandmann  <sandmann@redhat.com>
626
627         * process.c: Add some experimental (and unused) code to look up
628         kernel symbols.
629
630 Sat Nov 12 23:39:29 2005  Soeren Sandmann  <sandmann@redhat.com>
631
632         * sysprof.c (set_sizes): Put the vertical splitter at 3/8 *
633         screen_width.
634
635         * configure.ac: Disable warning.
636
637 Sat Nov 12 19:44:43 2005  Søren Sandmann  <sandmann@redhat.com>
638
639         * module/sysprof-module.c (read_frame): New function that uses
640         copy_from_user_inatomic() as check_user_pages_readable() has
641         disappeared in recent kernels.
642         
643         * module/sysprof-module.c (timer_notify): Use it here.
644         
645         * TODO: Updates
646
647         * configure.ac: Change the wording of the CVS HEAD warning as this
648         change seems to also have fixed the lockup with rawhide kernels.
649
650 Wed Nov  9 00:24:11 2005  Soeren Sandmann  <sandmann@redhat.com>
651
652         * treeviewutils.[ch]: Add new tree_view_foreach_visible()
653         function.
654
655         * sysprof.c: Add update_screenshot_window() function.
656
657 Mon Nov  7 23:42:26 2005  Soeren Sandmann  <sandmann@redhat.com>
658
659         * sysprof.c: Add beginning of a screenshot
660         window.
661
662         * sysprof.glade: Add screenshot window plus menu items.
663
664         * stackstash.c: Remove unused function stack_node_list_leaves()
665
666         * xmlstore.c: Various crack
667
668 Sun Nov  6 23:03:49 2005  Soeren Sandmann  <sandmann@redhat.com>
669
670         * profile.c (add_trace_to_tree): Test for !prev instead of !next.
671
672 Sun Nov  6  Soeren Sandmann  <sandmann@redhat.com>
673
674         * TODO: updates
675
676         * collector.c (on_read): Only call back when a new sample actually
677         arrived.
678
679         * collector.c (collector_stop): close the filedescriptor
680
681         * sysprof.c (on_start_toggled): Change sense of test.
682
683         * sysprof.c (ensure_profile): Stop the collector.
684
685         * sysprof.c (on_reset_clicked): Stop the collector when state
686         becomes INITIAL.
687
688 Sun Nov  6 18:31:23 2005  Soeren Sandmann  <sandmann@redhat.com>
689
690         * stackstash.c (stack_stash_foreach): 
691         * stackstash.c (stack_node_foreach_trace): Make these function
692         call back with GLists rather than GSLists.
693
694         * profile.c (add_trace_to_tree): Iterate backwards instead of
695         copying the list.
696
697 Sun Nov  6 17:06:52 2005  Soeren Sandmann  <sandmann@redhat.com>
698
699         * profile.c (add_trace_to_tree): Turn this function into a
700         StackFunction. 
701
702         * stackstash.c (stack_node_foreach_trace): Make this function take
703         a StackFunction, and reimplement with do_callback().
704
705 Sat Nov  5 18:06:40 2005  Soeren Sandmann  <sandmann@redhat.com>
706
707         * profile.c (profile_create_descendants): Use callbacks from
708         stackstash.
709
710         * stackstash.c (stack_node_foreach_trace): New function
711         * stackstash.c (do_node_callback): New function
712
713 Sat Nov  5 12:39:33 2005  Soeren Sandmann  <sandmann@redhat.com>
714
715         * profile.c (add_trace_to_tree): Don't compute the total field.
716
717         * profile.h (struct ProfileDescendant): Remove 'total' field. 
718
719         * sysprof.c: Delete DESCENDANTS_TOTAL column and everything
720         related to it.
721
722         * profile.c: Remove commented out code
723
724         * sfile.c (handle_text): Don't copy the text
725
726 2005-11-04  Soren Sandmann  <sandmann@redhat.com>
727
728         * collector.[ch]: Add copyright statement.
729
730         * collector.c (on_read): Handle time getting set backwards.
731
732         * collector.c: Remove unused empty_filedescriptor() function.
733
734 2005-11-03  Soren Sandmann  <sandmann@redhat.com>
735
736         * configure.ac: Make the message about the kernel source package
737         more informative. Code from Kjetil Torgrim Homme.
738
739         * sysprof.c (on_start_toggled): Only delete the data if the 
740         profiling can actually be started.
741
742 2005-11-01  Soeren Sandmann  <sandmann@redhat.com>
743
744         * sysprof.c (on_start_toggled): Update GUI after showing error
745         message.
746
747         * sysprof.glade: Rename File menu Profiler, move
748         Start/Profile/Reset here, delete View menu.
749
750 Mon Oct 31 23:41:33 2005  Soeren Sandmann  <sandmann@redhat.com>
751
752         * stackstash.h (struct StackNode): Add "total" field.
753
754         * stackstash.c (stack_stash_add_trace): Keep track of the
755         aggregate size.
756
757         * profile.c (profile_get_size): Sum the totals of the siblings
758         instead of all the children.
759
760         * profile.c (build_object_list): Correctly compute obj->self
761
762         * profile.c (profile_load): Don't ignore the node->total field.
763
764         * profile.c (serialize_call_tree): Save node->total instead of the
765         computed total
766
767         * profile.c (compute_total): Use n->total instead of computing it
768         from scratch.
769
770         * profile.c: Remove unused sum_children() function.
771
772         * TODO: Updates
773
774         * process.c (process_get_from_pid): Plug leak.
775
776 Mon Oct 31 21:36:37 2005  Søren Sandmann  <sandmann@redhat.com>
777
778         * sysprof.c (fill_main_list): free the profile objects.
779
780         * sysprof.c (struct Application): Remove unused variable.
781
782 Mon Oct 31 00:22:58 2005  Soeren Sandmann  <sandmann@redhat.com>
783
784         * sysprof.c (set_application_title): Use APPLICATION_NAME macro
785
786         * sysprof.c (load_file): Don't leak the FileOpenData
787
788         * TODO: updates
789
790 2005-10-30  Soren Sandmann <sandmann@redhat.com>
791
792         * configure.ac, Makefile.am: Don't link sysprof-text to gtk+.
793
794 2005-10-30  Soren Sandmann <sandmann@redhat.com>
795
796         * Merge stackstash-reorg branch into HEAD
797
798 2005-10-30  Soren Sandmann <sandmann@redhat.com>
799
800         * Makefile.am, sysprof.c, sysprof-text.c, collector.[ch]: Rename
801         profiler -> collector
802
803 2005-10-30  Soren Sandmann <sandmann@redhat.com>
804
805         * profile.c (profile_load): Reenable loading. 
806
807 2005-10-30  Soren Sandmann <sandmann@redhat.com>
808
809         * profile.c (profile_save): Reenable saving.
810
811 Sat Oct 29 21:37:42 2005  Soeren Sandmann  <sandmann@redhat.com>
812
813         * stackstash.c (stack_stash_foreach): Rename
814         stack_stash_foreach_reversed() to stack_stash_foreach(). Delete
815         the old, unused stack_stash_foreach().
816
817         * stackstash.h: Remove stack_stash_foreach_reversed(). 
818
819         * profiler.c: Use new name.     
820
821 Sat Oct 29 18:37:37 2005  Søren Sandmann  <sandmann@redhat.com>
822
823         * TODO: Updates
824
825 Sat Oct 29 17:38:01 2005  Søren Sandmann  <sandmann@redhat.com>
826
827         * stackstash.[ch]: Add stack_stash_get_root(). 
828
829         * profile.c (profile_get_size): Make this function work again. 
830
831 Sat Oct 29 16:58:22 2005  Søren Sandmann  <sandmann@redhat.com>
832
833         * profile.c: Delete all the obsolete stuff related to call tree.
834
835         * TODO: update
836
837 Sat Oct 29 16:52:32 2005  Søren Sandmann  <sandmann@redhat.com>
838
839         * TODO: Updates
840
841         * profile.c: Comment out a lot of unused stuff. Also temporarily
842         comment out loading and saving.
843
844 Sat Oct 29 16:45:34 2005  Søren Sandmann  <sandmann@redhat.com>
845
846         * profile.c (compute_total): New function.
847
848         * profile.c (profile_list_callers): Port this function over to use
849         StackNodes instead.
850
851 Sat Oct 29 16:22:28 2005  Søren Sandmann  <sandmann@redhat.com>
852
853         * profile.c (build_object_list): Make this function allocate
854         the ProfileObjects.
855
856         * stackstash.[ch]: Add stack_stash_foreach_by_address()
857
858         * profile.c (profile_get_objects): Use it here to reimplement 
859         profile_get_objects() in terms of the stackstash.
860
861 Sat Oct 29 15:33:07 2005  Søren Sandmann  <sandmann@redhat.com>
862
863         * profile.c (profile_new): Add stash field to profile.
864
865         * stackstash.[ch]: Add stack_node_list_leaves();
866
867         * profile.c (profile_create_descendants): Port this function over
868         to use StackNodes instead.
869
870 Sat Oct 29 14:43:00 2005  Søren Sandmann  <sandmann@redhat.com>
871
872         Fix crash pointed reported by Rudi Chiarito. 
873         
874         * stackstash.c (stack_stash_add_trace): Just return if
875         n_addrs is 0. 
876
877         * sysprof.c (on_read): Only trace if n_addresses != 0. 
878
879 Sat Oct 29 03:47:03 2005  Soeren Sandmann  <sandmann@redhat.com>
880
881         * profile.[ch], sysprof.c: Get rid of ProfileObject for callers
882         and descendants.
883
884         * TODO: updates.
885
886 Sat Oct 29 02:57:34 2005  Soeren Sandmann  <sandmann@redhat.com>
887
888         * stackstash.[ch]: Export the StackNode struct, add new
889         nodes_by_data hashtable to StackStash object, keep track of
890         whether objects are toplevels.
891
892         * TODO: some updates.
893
894 Sat Oct 29 14:29:55 2005  Søren Sandmann  <sandmann@redhat.com>
895
896         * README, TODO: updates
897
898 Fri Oct 14 11:44:43 2005  Søren Sandmann  <sandmann@redhat.com>
899
900         * configure.ac: Add a warning about known bugs in the kernel
901         module in this branch.
902
903         * TODO: updates.
904
905 Tue Oct 11 22:40:24 2005  Soeren Sandmann  <sandmann@redhat.com>
906
907         * module/sysprof-module.c (SAMPLES_PER_SECOND): Add back these
908         constants, but this time make sure we won't divide by 0 or
909         anything like that.
910
911 Mon Oct 10 22:50:57 2005  Soeren Sandmann  <sandmann@redhat.com>
912
913         * Merge in changes from HEAD
914
915 Thu Oct  6 22:28:39 2005  Soeren Sandmann  <sandmann@redhat.com>
916
917         * stackstash.c (do_callback): Call stack func if node->size > 0,
918         not if node->children != NULL
919         * stackstash.c (do_reversed_callback): same
920         * profile.c (generate_presentation_name): Delete this function
921         * profile.c (generate_key): Delete this function.
922
923 Wed Oct  5 23:57:08 2005  Soeren Sandmann  <sandmann@redhat.com>
924
925         * TODO: Updates
926
927         * profile.c (generate_call_tree): Delete all the process stuff
928
929         * profile.c (node_add_trace): Delete process argument
930
931         * profile.c (lookup_profile_object): Don't generate a string key,
932         just use the address directly.
933
934         * profile.c (ensure_profile_object): Use the address as
935         presentation name.
936
937         * profiler.c (profiler_create_profile): Pass in the resolved
938         stash. 
939
940 Sun Oct  2 21:08:16 2005  Soeren Sandmann  <sandmann@redhat.com>
941
942         * sysprof.c (on_delete): Work around glib bug 317775
943
944         * sysprof-text.c (signal_handler): Work around glib bug 317775
945
946 Sun Oct  2 16:31:37 2005  Soeren Sandmann  <sandmann@redhat.com>
947
948         * stackstash.c (stack_stash_foreach_reversed): Add this function
949
950         * process.c: Add a per-process undefined symbol.
951
952         * profiler.c (resolve_symbols): Add code to do symbol resolution
953         here.
954
955         * TODO: Updates
956
957 Sat Oct  1 18:32:52 2005  Soeren Sandmann  <sandmann@redhat.com>
958
959         * profile.h, sysprof.c: Remove some unnecessary includes.
960
961 Sat Oct  1 18:12:44 2005  Soeren Sandmann  <sandmann@redhat.com>
962
963         * profiler.[ch]: Add profiler_get_n_samples(); add unused
964         empty_file_descriptor()
965
966         * profile.h: Add include guards
967         
968         * process.[ch]: Delete process_flush_caches();
969
970         * helper.[ch]: Remove these files
971
972         * sysprof.c: Use the new profiler class.
973
974         * sysprof-text.c: Use the new profiler class
975
976         * Makefile.am: Various cleanups.
977
978 Sat Oct  1 17:05:43 2005  Soeren Sandmann  <sandmann@redhat.com>
979
980         * profiler.[ch]: New files containing a profiler class with code
981         that can be shared between gui and command line.
982         
983         * sysprof.c (main): Remove some commented out code
984
985         * stackstash.c (do_callback): Store the trace on the stack instead
986         of allocating it dynamically.
987
988 Sat Oct  1 01:50:15 2005  Soeren Sandmann  <sandmann@redhat.com>
989
990         * stackstash.c (sstack_stash_add_trace): Simplify this function a
991         lot.
992
993         * helper.c: Include "process.h"
994
995 Sat Oct  1 01:29:06 2005  Soeren Sandmann  <sandmann@redhat.com>
996
997         * profile.c (generate_object_table, generate_call_tree): Don't
998         take the process as an argument. Instead dig it out of the
999         stacktrace.
1000         
1001         * helper.c (add_trace_to_stash): New file, that adds a stacktrace
1002         and a process to a stackstash.
1003         
1004         * stackstash.[ch]: Remove all traces of the concept of
1005         Process. Simplify stack_node_add_trace() somewhat.
1006
1007 Mon Oct 10 22:49:03 2005  Soeren Sandmann  <sandmann@redhat.com>
1008
1009         * module/sysprof-module.c: Delete lots of commented-out code.
1010
1011 Mon Oct 10 14:33:50 2005  Søren Sandmann  <sandmann@redhat.com>
1012
1013         * configure.ac: Add --disable-kernel-module option. Patch from
1014         Pascal Terjan. 
1015
1016 Mon Oct 10 13:00:20 2005  Robert Love  <rml@novell.com>
1017
1018         * module/sysprof-module.c: Don't use INTERVAL or SAMPLES_PER_SECOND
1019           now that we use register_timer_hook(), which hits off the timer
1020           interrupt at HZ freqency (1/250 second on x86).
1021
1022 Sat Oct  1 01:21:57 2005  Soeren Sandmann  <sandmann@redhat.com>
1023
1024         * TODO: Update
1025
1026 Wed Sep 28 12:08:32 2005  Søren Sandmann  <sandmann@redhat.com>
1027
1028         * sysprof-text.c: Add my name to the copyright statement
1029
1030 Tue Sep 27 01:33:33 2005  Soeren Sandmann  <sandmann@redhat.com>
1031
1032         * process.c (process_lookup_symbol): If the address is 0x01, treat
1033         as kernel, regardless of whether we have a map for that address or
1034         not.
1035
1036         * module/sysprof-module.c (timer_notify): Take a stack trace of
1037         the current process, even when we are in kernel mode. This way we
1038         can assign kernel activity to individual user space stacktraces.
1039
1040         * TODO: updates.
1041         
1042 Sat Sep 24 14:41:23 2005  Soeren Sandmann  <sandmann@redhat.com>
1043
1044         * configure.ac: Bump version number to 1.1.0
1045
1046         * signal-handler.c: Many, mostly cosmetic, cleanups
1047
1048         * sysprof-text.c: uninstall signal handlers when exiting
1049
1050 Sat Sep 24 00:01:42 2005  Soeren Sandmann  <sandmann@redhat.com>
1051
1052         * Nakefile.am, sysprof-text.c: New non-GUI version, written
1053         by Lorenzo Colitti, with some changes by me.
1054
1055         * signal-handler.[ch]: New files that provide a way to get UNIX
1056         signals into a glib main loop.
1057
1058         * README: add Lorenzo to credits
1059         
1060 Fri Sep 23 20:46:40 2005  Soeren Sandmann  <sandmann@redhat.com>
1061
1062         * sysprof.c (build_gui): If the glade file doesn't exists pop up 
1063         an alert suggesting running 'make install'
1064
1065         * sysprof.c: Remove some commented out code
1066
1067 Sat Sep 17 14:35:32 2005  Soeren Sandmann  <sandmann@redhat.com>
1068
1069         * Release 1.0 (this comment was added post facto)
1070         
1071         * Bump version numbers
1072         * README: update
1073         * TODO: Updates
1074
1075 Sun Sep  4 19:38:51 2005  Soeren Sandmann  <sandmann@redhat.com>
1076
1077         * TODO: Updates
1078
1079 Tue Aug 30 16:57:33 2005  Søren Sandmann  <sandmann@redhat.com>
1080
1081         * configure.ac: Complain if we can't find /lib/modules/`uname
1082         -r`/build/Makefile. 
1083
1084         * process.c (process_lookup_symbol): Take an address of 0x1 to
1085         mean "in kernel".
1086
1087         * module/sysprof-module.c (timer_notify): When reporting in-kernel
1088         time, give the current pid instead of -1.
1089
1090         * TODO: updates
1091
1092 Mon Aug 15 20:39:11 2005  Soeren Sandmann  <sandmann@redhat.com>
1093
1094         * binfile.c, process.c, profile.c: Fix some warnings.
1095
1096 Mon Aug  1 23:49:51 2005  Soeren Sandmann  <sandmann@redhat.com>
1097
1098         * module/sysprof-module.c (REG_INS_PTR): Add support for
1099         amd64/x86-64. Patch from Mike Frysinger.
1100
1101 Sun Jul 10 10:51:52 2005  Soeren Sandmann  <sandmann@redhat.com>
1102
1103         * binfile.c: Various minor clean-ups
1104
1105 Sat Jul  9 23:20:39 2005  Soeren Sandmann  <sandmann@redhat.com>
1106
1107         * binfile.c (bin_file_new): Cache BinFiles by filename.
1108
1109         * stackstash.c (stack_stash_free): Plug leak
1110
1111         * process.c (process_free_maps): Plug leak
1112
1113         * module/Makefile (install): Check that depmod exists before
1114         running it.
1115
1116 Sun Jun 19 15:42:34 2005  Søren Sandmann  <sandmann@redhat.com>
1117
1118         * module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200.
1119
1120         * sysprof.c (on_about_activated): Add version information
1121
1122         * configure.ac: Bump version to 0.91
1123         
1124         * README: Updates
1125
1126 Sat Jun 18 22:45:04 2005  Søren Sandmann  <sandmann@redhat.com>
1127
1128         * TODO: Updates
1129
1130         * configure.ac: Check for Linux 2.6.11
1131
1132         * process.c (get_pidname): Present pid=-1 as [kernel].
1133
1134         * module/sysprof-module.c: Use register_timer_hook() instead of
1135         a kernel timer. Set trace.pid to -1 if interrupt happens in
1136         kernel.
1137
1138 Sun Jun 12 20:30:37 2005  Soeren Sandmann  <sandmann@redhat.com>
1139
1140         * sysprof.c (build_gui): Disable type-ahead search for all the
1141         tree views.
1142         
1143         * sysprof.c (on_object_selection_changed): Call it from here
1144
1145         * sysprof.c (expand_descendants_tree): New function that
1146         determines what nodes to expand in the descendatns view. 
1147
1148 Sun Jun 12 13:37:15 2005  Soeren Sandmann  <sandmann@redhat.com>
1149
1150         * TODO: Updates
1151
1152 Thu Jun  9 13:28:33 2005  Søren Sandmann  <sandmann@redhat.com>
1153
1154         * TODO: Updates
1155
1156 Thu May 26 01:10:45 2005  Soeren Sandmann  <sandmann@redhat.com>
1157
1158         * sysprof.c (on_callers_row_activated): Grab focus on the callers
1159         view, not the descendants view.
1160         
1161         * sysprof.c (on_read): Add a short "dead" period after a reset,
1162         so that 'samples' will actually be 0 for a while.
1163         
1164 Mon May 23 01:37:26 2005  Soeren Sandmann  <sandmann@redhat.com>
1165
1166         * README: Remove comment about auto* stuff, link to
1167
1168                 http://www.daimi.au.dk/~sandmann/sysprof/
1169
1170 Sun May 23 16:10:00 2005  Soeren Sandmann  <sandmann@redhat.com>
1171
1172         -=-=-=-=-=- Release v. 0.9 -=-=-=-=-=-
1173         
1174 Sun May 22 21:06:36 2005  Soeren Sandmann  <sandmann@redhat.com>
1175
1176         * TODO: Updates
1177
1178 Sat May 21 20:58:59 2005  Soeren Sandmann  <sandmann@redhat.com>
1179
1180         * TODO: update
1181         
1182         * sysprof.c (on_menu_item_activated): New function. 
1183
1184         * sysprof.c (build_gui): Hook up menu items.
1185
1186         * module/sysprof-module.c (init_module): Remove module_init/exit
1187         as they cause build failure on kernels < 2.6.11.
1188
1189 Sat May 21 00:59:38 2005  Søren Sandmann  <sandmann@redhat.com>
1190
1191         * TODO: update
1192
1193 Wed May 18 22:21:52 2005  Søren Sandmann  <sandmann@redhat.com>
1194
1195         * module/sysprof-module.c: Remove ref-counting since it didn't
1196         actually do any good.
1197
1198         * sysprof.c (load_module): Use g_spawn_command_line_sync() instaed
1199         of system().
1200
1201 Sun May 15 11:56:30 2005  Søren Sandmann  <sandmann@redhat.com>
1202
1203         * module/sysprof-module.c: First attempt at making module robust
1204         agains unloading when in use.
1205
1206 Sun May 15 10:24:09 2005  Soeren Sandmann  <sandmann@redhat.com>
1207
1208         * Makefile.am, module/Makefile: Do more-or-less what the automake
1209         manual suggests about foreign subdirectories.
1210
1211 Sat May 14 16:36:32 2005  Søren Sandmann  <sandmann@redhat.com>
1212
1213         * sysprof.c (set_application_title): Update the title bar on
1214         load/save
1215
1216         * treeviewutils.c, sfile.c: Fix compiler warnings
1217
1218         * Makefile.am: define PIXMAPDIR
1219         
1220 Sat May 14 15:49:52 2005  Søren Sandmann  <sandmann@redhat.com>
1221
1222         Auto*ify.
1223         
1224         * TODO: updates
1225
1226         * AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files
1227
1228         * module/Makefile: New file
1229
1230         * module/sysprof-module.c, module/sysprof-module.h: Move these
1231         files to their own directy, as the kernel build system does not
1232         work very well with auto*.
1233
1234         * sysprof.c, autogen.sh: Some auto* changes.
1235         
1236 Sun May  8 16:31:32 2005  Søren Sandmann  <sandmann@redhat.com>
1237
1238         * TODO: more updates
1239
1240         * sysprof.c: Try loading the module before complaining
1241
1242 Sun May  8 15:45:08 2005  Søren Sandmann  <sandmann@redhat.com>
1243
1244         * sysprof-module.c (do_generate): Restore lost wake_up().
1245
1246         * sfile.c: Comment out use of bz2.
1247
1248         * Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR
1249
1250         * sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here.
1251
1252         * TODO: Updates.
1253
1254 Sat May  7 13:57:17 2005  Søren Sandmann  <sandmann@redhat.com>
1255
1256         * sfile.c (sfile_output_free): Implement this function
1257         
1258         * sfile.c (sfile_input_free): Implement this function
1259
1260 Fri May  6 23:38:48 2005  Søren Sandmann  <sandmann@redhat.com>
1261
1262         * sysprof-module.c (do_generate): Another desparate hack to try
1263         and prevent the oops.
1264
1265 Sat Apr 30 16:57:23 2005  Soeren Sandmann  <sandmann@redhat.com>
1266
1267         * process.c (PAGE_SIZE): Use getpagesize()
1268
1269         * TODO: More updates
1270
1271 Sat Apr 30 15:44:12 2005  Søren Sandmann  <sandmann@redhat.com>
1272
1273         * TODO: Updates
1274
1275         * sysprof-module.c (get_regs): Change the way we get registers for
1276         a task so that it works with 2.6.11
1277
1278 Sat Apr 23 19:17:18 2005  Søren Sandmann  <sandmann@redhat.com>
1279
1280         * TODO: Updates
1281
1282 Sat Apr 23 19:12:52 2005  Søren Sandmann  <sandmann@redhat.com>
1283
1284         * profile.c: Store a pointer to the root of the call tree
1285
1286         * profile.c (profile_load): Call sfile_input_free()
1287
1288         * sfile.c (sformat_free): Implement this function
1289
1290 Sat Apr 23 18:38:46 2005  Søren Sandmann  <sandmann@redhat.com>
1291
1292         * sfile.c (post_process_read_instructions): Check pointer types
1293
1294         * sfile.c (post_process_instructions_recurse): Delete this unused function
1295
1296 Sat Apr 23 17:49:33 2005  Søren Sandmann  <sandmann@redhat.com>
1297
1298         * sysprof-module.c (page_readable): New function to check if the
1299         page is readable before reading. Noop on kernel <= 2.6.11
1300
1301         * sysprof-module.c (get_mm, put_mm): New functions to confine
1302         #ifdefs. 
1303
1304 Sat Apr 23 17:48:22 2005  Søren Sandmann  <sandmann@redhat.com>
1305
1306         * Makefile (MODCFLAGS): Disable optimization as I suspect
1307         the oops is related to miscompilation.
1308
1309 Fri Apr 22 00:09:16 2005  Soeren Sandmann  <sandmann@redhat.com>
1310
1311         * sysprof-module.c (read_user_space): On >= 2.6.11 check that the
1312         pages are present and readable before reading them.
1313
1314 Tue Apr 19 23:26:45 2005  Kristian Høgsberg  <krh@bitplanet.net>
1315
1316         * Makefile (check): Add simple check target that runs a sanity
1317         check of the build environment.
1318
1319 Sun Apr 17 00:20:41 2005  Soeren Sandmann  <sandmann@redhat.com>
1320
1321         * sysprof.c (on_open_clicked): Factor out some stuff in their own
1322         functions.
1323
1324         * sysprof.c (load_file): Idle handler to load files given on the
1325         command line.
1326
1327         * sysprof.c (main): If a filename is passed on the command line,
1328         load it in an idle handler.
1329
1330 Sun Apr 17 00:19:03 2005  Soeren Sandmann  <sandmann@redhat.com>
1331
1332         * TODO: Updates
1333
1334 Sat Apr 16 19:51:48 2005  Soeren Sandmann  <sandmann@redhat.com>
1335
1336         * sysprof-module.c (read_user_space): Read a whole page at a time.
1337
1338 Sat Apr 16 14:15:55 2005  Soeren Sandmann  <sandmann@redhat.com>
1339
1340         * TODO: Update
1341         
1342         * sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and
1343         later use get_task_mm()/mmput() instead of directly accessing
1344         task->mm.
1345
1346 Sat Apr 16 01:54:18 2005  Søren Sandmann  <sandmann@redhat.com>
1347
1348         * TODO: Add backtrace for kernel oops.
1349
1350 Fri Apr 15 16:37:45 2005  Soeren Sandmann  <sandmann@redhat.com>
1351
1352         * TODO: updates
1353
1354         * sysprof.c (sorry): If you hit profile when the module isn't
1355         loaded, pop up an annoying dialog.
1356
1357         * sysprof-module.c: Clean-ups, remove various unused abstractions.
1358
1359 Sat Apr  9 17:49:13 2005  Søren Sandmann  <sandmann@redhat.com>
1360
1361         * COPYING: Add a copy of the GPL
1362
1363 Sat Apr  9 17:04:50 2005  Søren Sandmann  <sandmann@redhat.com>
1364
1365         * Makefile: Remove debug spew
1366
1367         * *: Add copyright notices
1368
1369 Fri Apr  8 21:30:02 2005  Søren Sandmann  <sandmann@redhat.com>
1370
1371         * TODO: More updates
1372
1373 Fri Apr  8 20:48:58 2005  Søren Sandmann  <sandmann@redhat.com>
1374
1375         * sysprof.c (build_gui): Load the icon, hook up "about"
1376         activation.
1377
1378         * sysprof.c (on_about_activated): New function. Show an about
1379         dialog.
1380
1381         * sysprof.c (struct Application): Add an icon field
1382
1383         * TODO: Updates
1384         
1385         * sysprof-icon.png: Icon, drawn by Diana Fong
1386
1387 Tue Apr  5 23:01:02 2005  Søren Sandmann  <sandmann@redhat.com>
1388
1389         * binfile.c (read_symbols): Put back the weird loop, and stop
1390         pretending I understand this. This time use SEC_ALLOC instead of
1391         SEC_LOAD.
1392
1393 Tue Apr  5 20:13:44 2005  Søren Sandmann  <sandmann@redhat.com>
1394
1395         * process.c (process_ensure_map): Add commented out debug spew.
1396
1397         * process.c (process_lookup_symbol): Remove all should_offset()
1398         function and all references to it.
1399
1400         * binfile.c (bin_file_lookup_symbol): Document that address must
1401         be in file coordinates.
1402
1403         * binfile.c (read_symbols): Remove misguided code that tried to
1404         guess the load address of the file. Instead, do all computations
1405         in "file coordinates". Also fix a memory leak. Add commented out
1406         debug spew.
1407
1408         * binfile.c (separate_debug_file_exists): Fix signedness
1409
1410 Tue Apr  5 14:34:43 2005  Søren Sandmann  <sandmann@redhat.com>
1411
1412         * sysprof-module.c (x_access_process_vm): Make it compile with
1413         kernel 2.6.11
1414
1415         * TODO: updates
1416
1417 Mon Apr  4 00:57:11 2005  Soeren Sandmann  <sandmann@redhat.com>
1418
1419         * sysprof.c: Busy cursors in many more places.
1420
1421         * TODO: updates
1422
1423 Sun Apr  3 23:28:45 2005  Soeren Sandmann  <sandmann@redhat.com>
1424
1425         * sysprof-module.c (do_generate): Re-schedule the timeout here
1426         instead of in on_timer().
1427         
1428         * sysprof-module.c (on_timer): Only block tasks in the
1429         TASK_RUNNING state. 
1430
1431 Sun Apr  3 17:03:33 2005  Soeren Sandmann  <sandmann@redhat.com>
1432
1433         * sysprof-module.c (queue_generate_stack_trace): Put current
1434         process to sleep.
1435
1436         * sysprof-module.c (do_generate): Wake up the traced process
1437
1438 Thu Mar 31 23:09:09 2005  Soeren Sandmann  <sandmann@redhat.com>
1439
1440         * sysprof.c (build_gui): Remove stray %
1441
1442 Thu Mar 31 21:18:13 2005  Søren Sandmann  <sandmann@redhat.com>
1443
1444         * treeviewutils.c (add_double_format_column): Right justify numbers
1445
1446         * sysprof.c (build_gui): Add a space after the numbers
1447
1448         * sysprof.c (on_callers_row_activated): Focus object view
1449
1450         * sysprof.c (on_descendants_row_activated): Focus new descendants
1451         tree. 
1452
1453 Thu Mar 31 19:51:51 2005  Søren Sandmann  <sandmann@redhat.com>
1454
1455         * sysprof-module.c (do_generate): Walk all threads, not just all
1456         processes.
1457
1458         * TODO: Add disk profiling ideas
1459
1460 Thu Mar 31 00:19:47 2005  Soeren Sandmann  <sandmann@redhat.com>
1461
1462         * sysprof.c (set_busy): Make this function work
1463
1464         * sysprof.c (on_profile_toggled): Use it here
1465
1466         * sysprof.c (on_object_selection_changed): And here
1467
1468         * profile.c (add_trace_to_tree): Use GPtrArrays instead of
1469         GHashTable and GList.
1470
1471 Mon Mar 28 11:09:02 2005  Soeren Sandmann  <sandmann@redhat.com>
1472
1473         * TODO: updates
1474
1475 Sat Mar 26 19:26:52 2005  Søren Sandmann  <sandmann@redhat.com>
1476
1477         * sysprof.c: Show the right number of samples afte Open; remove
1478         shadows from menu bars and toolbars; some other tweaks.
1479
1480 Sat Mar 26 11:26:00 2005  Soeren Sandmann  <sandmann@redhat.com>
1481
1482         * TODO: Updates
1483
1484         * sfile.c (add_string): Use g_markup_escape_text() to escape the
1485         string before adding it to the file.
1486
1487         * sysprof.c (empty_file_descriptor): New function to make sure 
1488         samples generated before profiling started are ignored. 
1489         (set_busy): New commented out function to set a busy cursor.
1490
1491 Fri Mar 25 21:31:08 2005  Søren Sandmann  <sandmann@redhat.com>
1492
1493         * sysprof.c (update_sensitivity): Comment out sensitivity of reset button.
1494
1495 Fri Mar 25 21:25:31 2005  Søren Sandmann  <sandmann@redhat.com>
1496
1497         * sysprof.c (get_current_object): Return NULL if nothing is
1498         selected.
1499
1500 Fri Mar 25 20:54:08 2005  Søren Sandmann  <sandmann@redhat.com>
1501
1502         * TODO: More updates
1503
1504 Fri Mar 25 20:25:44 2005  Søren Sandmann  <sandmann@redhat.com>
1505
1506         * README: Require gtk+ 2.6
1507
1508         * treeviewutils.c (add_plain_text_column): Ellipsisize text columns.
1509
1510 Fri Mar 25 19:39:24 2005  Søren Sandmann  <sandmann@redhat.com>
1511
1512         * TODO: Remove "loading and saving"
1513
1514         * sysprof.glade: Add ellipsises to Open and Save menu items.
1515
1516         * sysprof.c (overwrite_file): Add this function, cutted-and-pasted
1517         from evince.
1518
1519         * sysprof.c (on_save_as_clicked, on_open_clicked): Use
1520         GtkFileChoosers to pick the names.
1521
1522         * sysprof.c: Various GUI updates.
1523
1524 Fri Mar 25 19:36:28 2005  Søren Sandmann  <sandmann@redhat.com>
1525
1526         * sfile.c (bz2_compress): Add this function  Don't actually make
1527         any produce use of it.
1528
1529         * profile.c (make_hash_table): Get rid of warning
1530
1531 Thu Mar 24 19:09:33 2005  Søren Sandmann  <sandmann@redhat.com>
1532
1533         * sysprof.c: Various GUI updates 
1534
1535         * TODO: update
1536         
1537         * sfile.[ch] (sformat_new_optional): Add some notes about an
1538         "optional" construction.
1539
1540 Wed Mar 23 00:04:07 2005  Soeren Sandmann  <sandmann@redhat.com>
1541
1542         Primitive loading and saving.
1543         
1544         * sysprof.c (on_open_clicked): Hook up loading.
1545
1546         * sfile.c: Add a copy of g_file_replace() from glib CVS HEAD.
1547
1548         * sfile.c (add_string): Escape and quote the string
1549
1550         * sfile.c (sfile_load): Initialize current_instruction and
1551         instructions_by_location
1552
1553         * sfile.c (post_process_instructions_recurse): Handle NULL
1554         pointers properly.
1555
1556         * sfile.c (handle_begin_element, handle_end_element, handle_text):
1557         Move error handling here from state_transition_begin/text/end.
1558
1559         * sfile.c (handle_text): Discard whitespace-only strings
1560
1561         * sfile.c (sfile_get_pointer, sfile_get_integer,
1562         sfile_get_string): expect both begin, value, and end transitions.
1563
1564         * sfile.c (hook_up_pointers): Only treat instructions as pointer
1565         values when they are. Handle NULL targets properly. 
1566
1567         * sfile.c (get_number): Fix a few read-freed-data bugs
1568
1569         * profile.c (profile_load): Call sfile_end_get() for the profile;
1570         build the nodes_by_objects hash table. Build the call tree.
1571
1572         * profile.c (create_format): Don't store next pointer, but do
1573         store total, self and toplevel.
1574
1575         * profile.c (make_hash_table): New function to build
1576         nodes_by_object hashtable from loaded data
1577
1578 Sat Mar 12 11:05:19 2005  Soeren Sandmann  <sandmann@redhat.com>
1579
1580         * sysprof-module.c: Fix small bug in add_timeout()
1581         * sysprof.c (build_gui): More descriptive tree labels
1582         * TODO: update
1583
1584 Thu Mar 10 16:37:52 2005  Søren Sandmann  <sandmann@redhat.com>
1585
1586         * sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by
1587         Ian McIntosh.
1588
1589 Mon Mar  7 14:47:09 2005  Søren Sandmann  <sandmann@redhat.com>
1590
1591         * README: Add note that you need to compile the module with
1592         the same compiler that compiled the kernel.
1593
1594 Sun Mar  6 22:56:21 2005  Soeren Sandmann  <sandmann@redhat.com>
1595
1596         * sfile.c: Generate id's for objects and pointers.
1597
1598 Sat Mar  5 01:09:33 2005  Soeren Sandmann  <sandmann@redhat.com>
1599
1600         * sfile.c: Bug fixes. Add actual generation.
1601
1602 Fri Mar  4 13:47:13 2005  Søren Sandmann  <sandmann@redhat.com>
1603
1604         * sysprof.c: Remove include of non-existing tracing.h
1605
1606 Thu Mar  3 23:48:13 2005  Soeren Sandmann  <sandmann@redhat.com>
1607
1608         * profile.c (profile_load): Write this function.
1609
1610         * sfile.c: Add support for user defined record and list types.
1611         Simplify logic a lot.
1612
1613 Wed Mar  2 23:39:50 2005  Soeren Sandmann  <sandmann@redhat.com>
1614
1615         * profile.[ch], sfile.[ch]: Experiment with a
1616         file-format-description format.
1617
1618         * sysprof.c: Add commented out code using /proc/ based
1619         timeout.
1620         
1621 Fri Jan 21 11:23:54 2005  Søren Sandmann  <sandmann@redhat.com>
1622
1623         * README: Some updates - add note about SMP kernels.
1624
1625         * sysprof-module.c: Go back to just sampling the current
1626         process.
1627
1628         * ChangeLog: I guess these do make sense, so start one.