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