File: ChangeLogP414.txt

package info (click to toggle)
papi 5.7.0+dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 9,856 kB
  • sloc: ansic: 93,265; fortran: 3,338; xml: 2,460; makefile: 815; sh: 290
file content (881 lines) | stat: -rw-r--r-- 33,273 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
2011-08-29

	* src/configure: Rebuild from configure.in with version number bump
	  to 4.1.4 in advance of pending internal vendor release for Cray.

2011-08-26

	* release_procedure.txt: Update rel procedure to mention building
	  the man pages before a release.

	* man/: man1/avail.c.1, man1/clockres.c.1, man1/command_flags_t.1,
	  man1/command_line.c.1, man1/component.c.1, man1/cost.c.1,
	  man1/decode.c.1, man1/error_codes.c.1, man1/event_chooser.c.1,
	  man1/mem_info.c.1, man1/native_avail.c.1, man1/options_t.1,
	  man1/papi_avail.1, man1/papi_clockres.1,
	  man1/papi_command_line.1, man1/papi_component_avail.1,
	  man1/papi_cost.1, man1/papi_decode.1, man1/papi_error_codes.1,
	  man1/papi_event_chooser.1, man1/papi_mem_info.1,
	  man1/papi_multiplex_cost.1, man1/papi_native_avail.1, man3/CDI.3,
	  man3/HighLevelInfo.3, man3/PAPIF.3, man3/PAPIF_accum.3,
	  man3/PAPIF_add_event.3, man3/PAPIF_add_events.3,
	  man3/PAPIF_assign_eventset_component.3,
	  man3/PAPIF_cleanup_eventset.3, man3/PAPIF_create_eventset.3,
	  man3/PAPIF_destroy_eventset.3, man3/PAPIF_get_dmem_info.3,
	  man3/PAPIF_get_exe_info.3, man3/PAPIF_get_hardware_info.3,
	  man3/PAPIF_num_hwctrs.3, man3/PAPI_accum.3,
	  man3/PAPI_accum_counters.3, man3/PAPI_add_event.3,
	  man3/PAPI_add_events.3, man3/PAPI_addr_range_option_t.3,
	  man3/PAPI_address_map_t.3, man3/PAPI_all_thr_spec_t.3,
	  man3/PAPI_assign_eventset_component.3, man3/PAPI_attach.3,
	  man3/PAPI_attach_option_t.3, man3/PAPI_cleanup_eventset.3,
	  man3/PAPI_component_info_t.3, man3/PAPI_cpu_option_t.3,
	  man3/PAPI_create_eventset.3, man3/PAPI_debug_option_t.3,
	  man3/PAPI_descr_error.3, man3/PAPI_destroy_eventset.3,
	  man3/PAPI_detach.3, man3/PAPI_dmem_info_t.3,
	  man3/PAPI_domain_option_t.3, man3/PAPI_enum_event.3,
	  man3/PAPI_event_code_to_name.3, man3/PAPI_event_info_t.3,
	  man3/PAPI_event_name_to_code.3, man3/PAPI_exe_info_t.3,
	  man3/PAPI_flips.3, man3/PAPI_flops.3, man3/PAPI_get_cmp_opt.3,
	  man3/PAPI_get_component_info.3, man3/PAPI_get_dmem_info.3,
	  man3/PAPI_get_event_info.3, man3/PAPI_get_executable_info.3,
	  man3/PAPI_get_hardware_info.3, man3/PAPI_get_multiplex.3,
	  man3/PAPI_get_opt.3, man3/PAPI_get_overflow_event_index.3,
	  man3/PAPI_get_real_cyc.3, man3/PAPI_get_real_nsec.3,
	  man3/PAPI_get_real_usec.3, man3/PAPI_get_shared_lib_info.3,
	  man3/PAPI_get_thr_specific.3, man3/PAPI_get_virt_cyc.3,
	  man3/PAPI_get_virt_nsec.3, man3/PAPI_get_virt_usec.3,
	  man3/PAPI_granularity_option_t.3, man3/PAPI_hw_info_t.3,
	  man3/PAPI_inherit_option_t.3, man3/PAPI_ipc.3,
	  man3/PAPI_is_initialized.3, man3/PAPI_itimer_option_t.3,
	  man3/PAPI_library_init.3, man3/PAPI_list_events.3,
	  man3/PAPI_list_threads.3, man3/PAPI_lock.3,
	  man3/PAPI_mh_cache_info_t.3, man3/PAPI_mh_info_t.3,
	  man3/PAPI_mh_level_t.3, man3/PAPI_mh_tlb_info_t.3,
	  man3/PAPI_mpx_info_t.3, man3/PAPI_multiplex_init.3,
	  man3/PAPI_multiplex_option_t.3, man3/PAPI_num_cmp_hwctrs.3,
	  man3/PAPI_num_components.3, man3/PAPI_num_counters.3,
	  man3/PAPI_num_events.3, man3/PAPI_num_hwctrs.3,
	  man3/PAPI_option_t.3, man3/PAPI_overflow.3, man3/PAPI_perror.3,
	  man3/PAPI_preload_info_t.3, man3/PAPI_profil.3,
	  man3/PAPI_query_event.3, man3/PAPI_read.3,
	  man3/PAPI_read_counters.3, man3/PAPI_read_ts.3,
	  man3/PAPI_register_thread.3, man3/PAPI_remove_event.3,
	  man3/PAPI_remove_events.3, man3/PAPI_reset.3,
	  man3/PAPI_set_cmp_domain.3, man3/PAPI_set_cmp_granularity.3,
	  man3/PAPI_set_debug.3, man3/PAPI_set_domain.3,
	  man3/PAPI_set_granularity.3, man3/PAPI_set_multiplex.3,
	  man3/PAPI_set_opt.3, man3/PAPI_set_thr_specific.3,
	  man3/PAPI_shlib_info_t.3, man3/PAPI_shutdown.3,
	  man3/PAPI_sprofil.3, man3/PAPI_sprofil_t.3, man3/PAPI_start.3,
	  man3/PAPI_start_counters.3, man3/PAPI_state.3, man3/PAPI_stop.3,
	  man3/PAPI_stop_counters.3, man3/PAPI_strerror.3,
	  man3/PAPI_thread_id.3, man3/PAPI_thread_init.3,
	  man3/PAPI_unlock.3, man3/PAPI_unregister_thread.3,
	  man3/PAPI_write.3, man3/high_api.3, man3/low_api.3,
	  man3/papi_data_structures.3, man3/papi_vector_t.3,
	  man3/ret_codes.3: Switch over to doxygen generated man pages.

	* man/: man1/papi_avail.1, man1/papi_clockres.1,
	  man1/papi_command_line.1, man1/papi_cost.1, man1/papi_decode.1,
	  man1/papi_event_chooser.1, man1/papi_mem_info.1,
	  man1/papi_native_avail.1, man3/PAPI.3, man3/PAPIF.3,
	  man3/PAPIF_get_clockrate.3, man3/PAPIF_get_domain.3,
	  man3/PAPIF_get_exe_info.3, man3/PAPIF_get_granularity.3,
	  man3/PAPIF_get_preload.3, man3/PAPIF_set_event_domain.3,
	  man3/PAPI_accum.3, man3/PAPI_accum_counters.3,
	  man3/PAPI_add_event.3, man3/PAPI_add_events.3,
	  man3/PAPI_assign_eventset_component.3, man3/PAPI_attach.3,
	  man3/PAPI_cleanup_eventset.3, man3/PAPI_create_eventset.3,
	  man3/PAPI_destroy_eventset.3, man3/PAPI_detach.3,
	  man3/PAPI_encode_events.3, man3/PAPI_enum_event.3,
	  man3/PAPI_event_code_to_name.3, man3/PAPI_event_name_to_code.3,
	  man3/PAPI_flips.3, man3/PAPI_flops.3, man3/PAPI_get_cmp_opt.3,
	  man3/PAPI_get_component_info.3, man3/PAPI_get_dmem_info.3,
	  man3/PAPI_get_event_info.3, man3/PAPI_get_executable_info.3,
	  man3/PAPI_get_hardware_info.3, man3/PAPI_get_multiplex.3,
	  man3/PAPI_get_opt.3, man3/PAPI_get_overflow_event_index.3,
	  man3/PAPI_get_real_cyc.3, man3/PAPI_get_real_usec.3,
	  man3/PAPI_get_shared_lib_info.3, man3/PAPI_get_substrate_info.3,
	  man3/PAPI_get_thr_specific.3, man3/PAPI_get_virt_cyc.3,
	  man3/PAPI_get_virt_usec.3, man3/PAPI_help.3, man3/PAPI_ipc.3,
	  man3/PAPI_is_initialized.3, man3/PAPI_library_init.3,
	  man3/PAPI_list_events.3, man3/PAPI_list_threads.3,
	  man3/PAPI_lock.3, man3/PAPI_multiplex_init.3, man3/PAPI_native.3,
	  man3/PAPI_num_cmp_hwctrs.3, man3/PAPI_num_components.3,
	  man3/PAPI_num_counters.3, man3/PAPI_num_events.3,
	  man3/PAPI_num_hwctrs.3, man3/PAPI_overflow.3, man3/PAPI_perror.3,
	  man3/PAPI_presets.3, man3/PAPI_profil.3, man3/PAPI_query_event.3,
	  man3/PAPI_read.3, man3/PAPI_read_counters.3,
	  man3/PAPI_register_thread.3, man3/PAPI_remove_event.3,
	  man3/PAPI_remove_events.3, man3/PAPI_reset.3,
	  man3/PAPI_set_cmp_domain.3, man3/PAPI_set_cmp_granularity.3,
	  man3/PAPI_set_debug.3, man3/PAPI_set_domain.3,
	  man3/PAPI_set_event_info.3, man3/PAPI_set_granularity.3,
	  man3/PAPI_set_multiplex.3, man3/PAPI_set_opt.3,
	  man3/PAPI_set_thr_specific.3, man3/PAPI_shutdown.3,
	  man3/PAPI_sprofil.3, man3/PAPI_start.3,
	  man3/PAPI_start_counters.3, man3/PAPI_state.3, man3/PAPI_stop.3,
	  man3/PAPI_stop_counters.3, man3/PAPI_strerror.3,
	  man3/PAPI_thread_id.3, man3/PAPI_thread_init.3,
	  man3/PAPI_unlock.3, man3/PAPI_unregister_thread.3,
	  man3/PAPI_write.3: Remove the old manpages in preperation for
	  defaulting to doxygen generated ones.

2011-08-25

	* src/: perf_events.c, ctests/overflow_allcounters.c,
	  ctests/papi_test.h, ctests/test_utils.c: Block all PERF_COUNT_SW
	  events from overflow_allcounters test,   as overflow on software
	  counter can crash perf_event kernels pre 3.1

	* src/libpfm4/: Makefile, config.mk, lib/Makefile,
	  lib/pfmlib_common.c, lib/pfmlib_perf_event.c, lib/pfmlib_priv.h,
	  perf_examples/perf_util.c, perf_examples/task_smpl.c: Fix the
	  "conflicts" from the import

	* papi.spec, doc/Doxyfile, doc/Doxyfile-everything,
	  src/Makefile.in, src/configure.in, src/papi.h: Bump version
	  number to 4.1.4 in advance of pending internal vendor release for
	  Cray.

2011-08-23

	* src/: papi.c, papi_hl.c: Removed all references to Fortran APIs.
	  These are now all in papi_fwrappers.c Also normalized syntax for
	  many doxygen headers.

	* src/papi_fwrappers.c: Added doxygen skeleton for all remaining
	  Fortran functions in this file. Also added wrappers for four
	  additional APIs: PAPI_get_real_nsec PAPI_read_ts PAPI_lock
	  PAPI_unlock

2011-08-19

	* src/: papi.c, papi_fwrappers.c: Stubbed out doxygen pages for
	  Fortran functions.  About half way done!

	* src/papi_libpfm4_events.c: Finish up the documentation/cleanup
	  pass through the libpfm4 code.

2011-08-18

	* src/papi_libpfm3_events.c: Fix code so we no longer get warnings
	  that 'setup_preset_term' and '_pfm_get_counter_info' are defined
	  but not used

	* src/: papi_libpfm3_events.c, papi_libpfm4_events.c,
	  papi_libpfm_events.h, perf_events.c, perfctr-x86.c: Consolidate
	  use of _papi_libpfm_init() and pass in MY_VECTOR when necessary.

	* src/papi_libpfm4_events.c: Dynamically allocate the libpfm4
	  native events, rather than having a fixed array allocated at init
	  time.

	* src/papi_libpfm4_events.c: Some more minor cleanups and
	  documentation in the libpfm4 code.

	* src/components/coretemp/linux-coretemp.c: Fixup for linux
	  coretemp component, it pays to check cvs status once in a
	  while...

2011-08-16

	* src/papi.c: Update the PAPI_enum_event() Doxygen comments to
	  reflect modern   values for the "modifier" parameter.

	* src/papi_libpfm4_events.c: Clean up code and add documentation
	  for all the functions involved in libpfm4's
	  _papi_libpfm_ntv_enum_events() function.

2011-08-15

	* src/mb.h: Updat the rmb() barrier for ARM.

	* src/papi_events.csv: Update SandyBridge EP support to match that
	  of mainline libpfm4

	* src/papi_libpfm4_events.c: Cleanup libpfm4 code, and add more
	  comments to code.

	* src/perf_events.c: Fix bug where umask support was disabled.

	* src/Rules.perfctr-pfm: Make the perfctr code use the merged
	  preset event code.

	* src/: Rules.pfm_pe, papi_libpfm3_events.c, papi_libpfm_presets.c:
	  Have libpfm3 use the merged preset code.

	* src/: Rules.pfm4_pe, papi_libpfm4_events.c,
	  papi_libpfm_presets.c: Move the libpfm presets code to its own
	  file, and modify the libpfm4 code to use it.

	* src/papi_libpfm3_events.c: Make the libpfm3 predefined events
	  parser identical to the libpfm4 one, in preparation for a merge.

	* src/: papi_libpfm3_events.c, papi_libpfm4_events.c,
	  papi_libpfm_events.h, perf_events.c: Move vendor fixups into the
	  substrate and out of the naming library code.

	* src/: Rules.perfctr-pfm, Rules.pfm4_pe, Rules.pfm_pe,
	  papi_libpfm3_events.c, papi_libpfm4_events.c,
	  papi_libpfm_events.h, papi_pfm4_events.c, papi_pfm_events.c,
	  papi_pfm_events.h, perf_events.c, perfctr-x86.c, perfmon.c:
	  Rename papi_pfm_events.c to papi_libpfm3_events.c to make it more
	  clear what is in the file.

	  Also rename papi_pfm4_events.c to papi_libpfm4_events.c    and
	  papi_pfm_events.h to papi_libpfm_events.h

	* src/perfmon.c: Fixup perfmon2 case for the libpfm renaming

	* src/perfctr-x86.c: Fix perfctr breakage from the libpfm rename.

	* src/: papi_pfm4_events.c, papi_pfm_events.c, papi_pfm_events.h,
	  perf_events.c, perfctr-x86.c, perfmon-ia64.c, perfmon.c: The PAPI
	  code uses _pfm_ in function names to mean *both* perfmon2 code
	  and libpfm3/4 code.  This can cause a lot of confusion.

	  Rename libpfm specific function names to use _libpfm_ instead.

	* src/: papi_pfm_events.c, papi_pfm_events.h, perf_events.c: Fix
	  build error on perfmon2 due to movement of the
	  _papi_pfm_shutdown()

2011-08-05

	* src/: Makefile.in, Makefile.inc, configure, configure.in,
	  components/Makefile_comp_tests,
	  components/cuda/tests/HelloWorld.cu,
	  components/cuda/tests/Makefile,
	  components/example/tests/HelloWorld.c,
	  components/example/tests/Makefile, components/README: Added
	  generic implementation that makes it possible to add tests to
	  components without modifying any PAPI-specific code (other than
	  adding the tests and a makefile to the component directory). All
	  component tests will be compiled together with PAPI when typing
	  'make' (as well as cleaned up when 'make clean' or 'make clobber'
	  is typed). +++ Also added tests to 2 components, the example and
	  cuda component.

	* src/: papi_defines.h, papi_internal.h, papi_pfm4_events.c,
	  perf_events.c: Add locking to papi_pfm4_events so that
	  adding/looking up event names doesn't have a race condition when
	  multiple threads are doing it at once.

	  Also fix the recently-added pfm_shutdown() to be called at
	  substrate_shutdown() rather than plain shutdown() as the latter
	  is called at thread_shutdown() time too.

	* src/: papi_pfm4_events.c, papi_pfm_events.c, papi_pfm_events.h,
	  perf_events.c: Add a _papi_pfm_shutdown() function and have it
	  clear out the native events array at PAPI_shutdown().

	  This makes sample code that exhibits the libpfm4 event race much
	  easier to write.

	* src/ctests/multiplex2.c: Added some PAPI_set_domain's inside of
	  #if 0's for testing.

2011-08-03

	* src/papi_pfm4_events.c: Use the new ARM vendor code to force the
	  proper default domain on ARM cpus.

	* src/: linux-common.c, papi.h: Add an ARM vendor string and have
	  it properly set.

	  The hardware detection logic is a horrible mess of parsing
	  /proc/cpuinfo I took the easy way out and just tacked the ARM
	  logic on the end rather than trying to clean it up at all.

	* src/perf_events.c: Clean up some comments, add a few debug
	  messages.

2011-08-02

	* src/linux-memory.c: The ARM warning for memory hierarchy not
	  being implemented was in the wrong place.

	* src/: papi_pfm4_events.c, sys_perf_event_open.c: Fix some
	  misleading debug messages.

	* src/papi_events.csv: Update ARM Cortex A9 preset events, and add
	  ARM Cortex A8 events

2011-07-28

	* src/: cycle.h, linux-context.h, linux-lock.h, linux-memory.c,
	  linux-timer.c, mb.h: Add remaining changes needed for ARM
	  compilation.	This is enough for "papi_avail" and
	  "papi_native_avail" to work.

	  Lots of #warning statements scattered around.  ARM is a
	  complicated architecture and things like memory barriers and
	  mutexes are very dependent on what version of the architecture
	  they are running on.	It will take a while to figure out the
	  proper way to handle this in PAPI.

	  Also, on Cortex-A8 and Cortex-A9 there is no way to separate
	  kernel events from the user ones.  So all measurements contain
	  both.  This will probably confuse our ctests.

	* src/papi_events.csv: Add ARM Cortex A9 preset events to the CSV
	  file.

	* src/sys_perf_event_open.c: Add the perf_event syscall number for
	  ARM

	* src/papi_fwrappers.c: Create PAPIF group in doxygen, for the papi
	  fortran interface.

2011-07-27

	* src/x86_cache_info.c: My changes yesterday broke on the
	  --with-debug case, as noticed by buildbot.

2011-07-26

	* src/: papi.c, papi_fwrappers.c: Implement doxygen comments for
	  PAPI_get_opt; Implement doxygen comments for PAPIF_accum in
	  papi_fwrappers.c.  This is a first step in providing separate
	  independent Fortran documentation.

	* doc/Doxyfile: Have doxygen parse papi_fwrappers.c for comments.

	* src/papi_pfm4_events.c: The last checkin broke papi_native_avail
	  on libpfm4.  Fix it.

	* src/papi_pfm4_events.c: Cleanup some code in papi_pfm4_events.c
	  to avoid gcc-4.6 warnings

	* src/x86_cache_info.c: Fix some warnings in src/x86_cache_info.c
	  reported by gcc-4.6

2011-07-21

	* src/ctests/all_native_events.c: Change all_native_events test to
	  create an eventset for each native event it finds.  Also becomes
	  a good test of the number of outstanding eventsets allowed.

2011-07-19

	* src/papi.c: Doxygen rewrite for PAPI_set_opt.

2011-07-13

	* src/: papi_events.csv, libpfm4/lib/events/intel_snb_events.h: A
	  few more commits that get SandyBridge mostly working.

	* src/papi.h: Include a comment to the prototype for PAPI_read_ts.
	  This is apparently a requirement to get doxygen to link from the
	  prototype to the doc block for the function (a link shows up in
	  the low_api group now).

2011-07-12

	* src/libpfm4/lib/events/intel_snb_events.h: Temporarily add
	  missing SandyBridge FP events until support gets merged upstream.

	* src/papi.c: Some minor Doxygen fixes.  This was my run through
	  the HTML output produced by my assigned functions.

2011-07-11

	* src/libpfm4/lib/pfmlib_intel_snb.c: Temporarily add model 45
	  Sandy Bridge to our copy of libpfm4 until we can get this merged
	  upstream.

	* src/ctests/: multiattach.c, multiattach2.c, reset.c, val_omp.c,
	  zero_attach.c, zero_fork.c, zero_omp.c, zero_pthreads.c,
	  zero_smp.c: Fix all the remaining users of the ctests
	  add_two_events() helper

	* src/ctests/first.c: Fix first test bug due to add_two_events()
	  change.  Clean up validation of results.

	* src/ctests/zero.c: Some cleanups I made to the testing routine
	  add_two_events() a while ago broke the zero test.  (the cycles
	  result was swapped with the other counter result).

	  This fixes this, plus adds a validation check to try to avoid
	  this happening in the future.

	* src/: configure, configure.in: Patch from William Cohen that sets
	  LD_LIBRARY_PATH and LIBPATH to include libpfm4/lib.

	  A better fix would probably be to include only the libpfm library
	  we are currently configured for.  I need to do more testing of
	  the --with-static-lib=no --with-shared-lib=yes --with-shlib
	  options

	* src/papi_hl.c: High level interface Doxygen comments updated to
	  include interface overview

2011-07-08

	* doc/Doxyfile, src/papi.h, src/papi_hl.c, src/papi_vector.h: Add
	  in the PAPI component development page.  Currently not linked to
	  by anything yet, but can be found at file://$(html_dir)/CDI or
	  http://web.eecs.utk.edu/~ralph/html/CDI for an already built
	  page.

2011-07-07

	* src/: papi.c, papi.h: Add doxygen comments for
	  PAPI_get_executable_info(), PAPI_exe_info_t and
	  PAPI_address_map_t

	* src/papi.c: Add doxygen comments for PAPI_event_code_to_name()
	  and PAPI_event_name_to_code()

	* src/papi.c: Add doxygen comments for PAPI_enum_event()

	* src/papi.c: Add doxygen comments for PAPI_create_eventset()

	* src/papi.c: Add doxygen comments for PAPI_cleanup_eventset() and
	  PAPI_destroy_eventset()

	* src/papi.c: Add doxygen comments for PAPI_attach() and
	  PAPI_detach()

	* src/papi.c: Add doxygen comments for
	  PAPI_assign_eventset_component()

2011-07-05

	* src/components/cuda/linux-cuda.c: missing parentheses added in
	  CUDA_Shutdown() which caused a seg fault.

2011-07-01

	* src/papi.c: Add doxygen comments for PAPI_add_event()

	* src/papi.c: Add doxygen comments for PAPI_add_events() +++
	  Updated PAPI_accum()

	* src/papi.c: Add doxygen comments for PAPI_accum()

	* src/ctests/: data_range.c, earprofile.c: Some more ia64 ctests
	  fixes

	* src/papi.c: Add doxygen comments for	 PAPI_register_thread()

	* src/papi.c: Add doxygen comments for:  PAPI_read()
	  PAPI_read_ts()

	* src/ctests/earprofile.c: Another attempt at fixing earprofile on
	  ia64.

	* src/ctests/earprofile.c: PAPI for ia64 compiles now, and now it's
	  some of the ia64-specific ctests that are broken.

	  There was a missing #include "papi.h" in earprofile

2011-06-30

	* src/papi.c: Doxygen for: PAPI_set_multiplex PAPI_shutdown
	  PAPI_sprofil_t PAPI_start (int EventSet) PAPI_state (int
	  EventSet, int *status) PAPI_stop (int EventSet, long long
	  *values) PAPI_strerror (int)

	* src/: linux-timer.c, perfmon-ia64-pfm.h, perfmon-ia64.c: more
	  ia64 fixes

	* src/papi.c: doxygen comments for:  PAPI_query_event()

	* src/: linux-timer.c, linux-timer.h, papi_vector.c, papi_vector.h:
	  Some more ia64 fixes.

	* src/papi.c: add doxygen comments for	PAPI_profil()

	* src/: linux-timer.c, linux-timer.h, perfmon-ia64.c: More ia64
	  fixes.  Getting closer.

	* src/: linux-context.h, perfmon-ia64.c, perfmon-ia64.h: One more
	  try at fixing ia64.

	  The trick to cross compiling is   ./configure --with-CPU=itanium2
	  --with-arch=ia64 --with-perfmon=2.0 --with-tls=no   make
	  __ia64__=1

	  and you still have to fiddle with some __ia64__ ifdefs scattered
	  in the code

2011-06-29

	* src/papi.c: Add doxygen comments for: * PAPI_num_events() *
	  PAPI_overflow() * PAPI_perror()

	* src/papi.c: Doxygen for PAPI_set_domain and PAPI
	  _set_granularity.  Unfortunately, this seems to have raised more
	  issues about Fortran support...

	* src/papi.c: Add doxygen comments to * PAPI_list_threads() *
	  PAPI_lock() * PAPI_multiplex_init() * PAPI_num_hwctrs() *
	  PAPI_num_cmp_hwctrs()

	* src/papi.c: Doxygen for PAPI_set_debug and minor tweaks to other
	  function documentation.

2011-06-28

	* src/: linux-common.h, linux-timer.c, papi_pfm_events.c,
	  perfmon-ia64-pfm.h: some more itanium fixes.	This won't be
	  enough to fix things but it is a start.

	* src/papi.c: Check in Kiran's doxygen work.  This time hopefully
	  not clobbering anyone.

	* src/: linux-context.h, linux-timer.c, perfmon-ia64.h: Attempt to
	  fix the build for itanium systems.

	* src/papi.c: Fix comments embedded in doygen source to be C++
	  single line format.

2011-06-27

	* src/papi.c: Commit documentation changes for PAPI_reset,
	  PAPI_set_thr_specific, and PAPI_get_thr_specific. The last one
	  wasn't on my list, but it mirrored _set_ so I did it anyway.

	* src/papi.c: [no log message]

	* src/papi.c: Commit Kiren's updates to the code documentation.

2011-06-24

	* doc/Doxyfile: One got left behind... ( see previous commit about
	  redoing doxygen procedures )

	* src/Makefile.inc, src/configure, src/configure.in,
	  doc/Doxyfile.html, doc/Doxyfile.utils,
	  doc/Doxyfile.utils-everything, doc/Makefile,
	  doc/doxygen_procedure.txt: Update install process for man-pages,
	  install from pre-built pages living in $(PAPI_DIR)/man and update
	  $(PAPI_DIR)/doc to generate doxygen pages and copy them to
	  $(PAPI_DIR)/man.

	  This removes doxygen from the install process.  And when removes
	  the web of doxygen configurationf files, going back to just two,
	  lite and kitchen-sink.

	* src/papi.c: Updates to doxygen stuff for PAPI_remove_event{s}

	* src/: linux-bgp.c, perfmon-ia64.c, perfmon.c, solaris-niagara2.c,
	  solaris-ultra.c: When I made the multiattach change I forgot to
	  update _papi_hwi_lookup_thread calls on all architectures.  This
	  should get the ones I missed.

2011-06-23

	* src/papi_pfm4_events.c: For libpfm4 we were setting available
	  counters to the number of generic counters.

	  This was less than libpfm3, so update the code to set the number
	  of counters to be equal to generic+fixed.

	  In theory whether an event can be added is determined at add
	  time, so the extra check for number of counters is unnecessarily
	  getting in the way.  This should be fixed but might require a
	  re-write of some PAPI internals.

2011-06-22

	* src/ctests/test_utils.c: One more fix to the byte_profile code

	* src/ctests/byte_profile.c: Fix byte_profile ctest, as it was
	  breaking on libpfm4.

	* src/: extras.c, papi.c, perf_events.c, threads.c, threads.h,
	  ctests/multiattach.c, ctests/multiattach2.c: Add support for
	  handling multiattach properly.

	  This adds a pid argument to the
	  _papi_hwi_lookup_or_create_thread() call.  A pid of "0" falls
	  back to the old behavior of using the current tid/pid.

	  If attaching to an outside pid/tid, a new thread object is
	  created to handle this.  This seems like the right thing to do,
	  though there's enough complicated code in the threads code that I
	  haven't fully audited that this can't fail somehow in complicated
	  cases where lots of attaching/detaching is done in conjunction
	  with having a large multi-threaded program.

2011-06-13

	* src/papi_pfm4_events.c: Fix the libpfm4 enumerate code.

	  It was possible for papi_native_avail to get stuck in an infinite
	  loop	if two events had the same name on different PMUs and the
	  "default"  PMU happened later in the enumeration.

	  This was the case on SandyBridge at least.

	  This should be fixed now.

	* src/ctests/test_utils.c: Make "test_fail()" actually fail.

	  In the comments we say we don't exit to avoid leaking memory in
	  threads.

	  That seems suspect.  The threads should exit properly too.  If
	  they	don't, then we should fix the threading code and not make
	  our tests  never exit on fail (which can make debugging a pain).

2011-06-10

	* src/: papi.c, papi_hl.c: Add example code to the high level
	  interface docs

	* src/papi_events.csv: Add initial Sandy Bridge event support.

	  This is in no way nested, so be cautious if using.

	  Sandy Bridge support is libpfm4 only, so you'll have to configure
	  with --with-libpfm4

	* src/papi_hl.c: Added an example of how to embed example code in
	  PAPI_stop_counters documentation.

2011-06-09

	* src/Makefile.inc: Makefile fix for fortran wrapper files on
	  case-insensitive filesystems.  During build, it renames the
	  preprocessed file PAPI_FWRAPPERS.c to upper_PAPI_FWRAPPERS.c

2011-06-08

	* src/: configure, Makefile.inc, configure.in: Have configure check
	  that doxygen is installed, and have make install only attempt to
	  build the doxygen docs if we found doxygen.

2011-06-07

	* src/: run_tests_exclude_cuda.txt, components/cuda/linux-cuda.c:
	  ctests/thrspecific works now too with the CUDA component

	* src/components/cuda/linux-cuda.c: clean up and indent

	* src/components/cuda/: linux-cuda.c, linux-cuda.h: Added
	  CudaRemoveEvent functionality (was broken in earlier CUDA RC
	  versions). ctests/all_native_events works now (at least for the
	  default CUDA device). +++ Minor exit/return mods in CUDA
	  component

	* doc/Doxyfile, doc/Doxyfile.html, doc/Doxyfile.utils,
	  doc/Doxyfile.utils-everything, doc/Makefile, src/Makefile.inc,
	  src/papi.c, src/papi.h, src/papi_hl.c: Rework doxygen to better
	  generate manpages from code comments.

2011-06-03

	* release_procedure.txt: Incorporate a note about using 2.59
	  autoconf to build configure.

2011-06-02

	* src/utils/error_codes.c: Tweak the doxygen title text.

2011-06-01

	* src/: configure, configure.in: Modified configure.in to look for
	  a 2.59 autoconf prerequisite. Rebuilt configure with 2.59. We'll
	  try this out on buildbot.

2011-05-31

	* src/: run_tests_exclude_cuda.txt, components/cuda/linux-cuda.c,
	  components/cuda/linux-cuda.h: 2 things: (1) Bug in CUDA v4.0
	  fixed. It caused a threaded application to hang when parent
	  called cuInit() before fork() and child called also cuInit().
	  All fork ctests pass now if papi is configured with cuda
	  component. (2) If running a threaded application, we need to make
	  sure that a thread doesn't free the same memory location(s) more
	  than once. Now all pthread ctests pass, too (again, if papi is
	  configured with cuda component).

2011-05-27

	* src/perf_events.c: It turns out our FORMAT_ID workaround
	  detection code was identical to FORMAT_GROUP (and not really
	  necessary) so merge the two.

2011-05-26

	* src/papi_pfm_events.h: One last try at the cray compile fix, this
	  time using a suggestion from Steve Kaufmann.

	* src/perf_events.c: Update some comments on the workarounds.

	  I've been writing some validation tests for our various
	  workarounds.

	  It turns out the "no multiplexing before 2.6.33" problem is
	  actually an artifact of the check_schedulability bug on x86 (and
	  its interaction with our event partitioning code) rather than a
	  distinct kernel bug.

	* src/Rules.pfm4_pe: Now fix libpfm4.  I think they should all be
	  fixed now.  Too many permutations.

	* src/: Rules.pfm_pe, papi_pfm_events.h: One last try at fixing the
	  perfmon2 build.

	* src/papi_pfm_events.h: Fix the perfmon2 build that broke with the
	  libpfm4 merge.  The previous fix only fixed perfctr, not perfmon2

	  This should fix the build for cray machines.

2011-05-24

	* src/utils/component.c: Add doxygen comments to components.c

	* src/papi_events.csv: Fix the PAPI_TOT_INS instruction for Atom,
	  as well as update the floating point events.

	* src/perf_events.c: We were using some of the perf_event
	  functionality in an susupported way	and this broke recently
	  when the perf_event interface was made more strict.

	  You can't use the PERF_EVENT_IOC_REFRESH ioctl on a group leader
	  to	start all sampling siblings... use PERF_EVENT_IOC_ENABLE

	  Don't pass NULL or 0 as the argument to the
	  PERF_EVENT_IOC_REFRESH ioctl.

	  These fixes seem to work and fix the Nehalem regressions.  The
	  above changes were made to PAPI back in November to fix the I/O
	  possible error, so we should check to be sure that this doesn't
	  reintroduce the problem.

	  We should also probably back-port this fix to 4.1.2 and 4.2
	  stable

2011-05-23

	* src/: configure, configure.in, papi.c, papi.h, papi_data.h,
	  utils/Makefile, utils/error_codes.c: New utility to display PAPI
	  error codes and description strings.	There was no API to access
	  error descriptions, so I created PAPI_descr_error( int error_code
	  ) too.  I also updated the error table to provide strings for all
	  defined codes.

	* src/aix.c: Define aix's .cmp_info.itimer_ns value to a default.
	  The multiplexing tests are happy on power7 aix now.

	* src/: sys_perf_event_open.c, ctests/overflow.c: cleanup some
	  debug messages

	* src/ctests/: overflow.c, test_utils.c: The overflow test depends
	  on the exact ordering of the flags in the   add_test_event()
	  code.  So my previous changes broke the test.    This commit
	  fixes the test case again.

	* src/ctests/: byte_profile.c, prof_utils.c, prof_utils.h,
	  profile.c, profile_twoevents.c, sprofile.c: ctests:  remove the
	  "hw_info" field from the profile setup functions,	     as the
	  field isn't used.

	* src/: configure, configure.in, utils/Makefile, utils/component.c:
	  Introduce a component avail utility, lists the components we were
	  built with, optionally with native/preset counts and version
	  number.

	* src/components/example/example.c: Add number of 'native' events
	  to the component info structure in example component.

	* src/ctests/: byte_profile.c, papi_test.h, prof_utils.c,
	  prof_utils.h, profile.c, profile_twoevents.c, sprofile.c,
	  test_utils.c, zero_smp.c: Clean up the ctest profile event
	  section code some more.

	  This fixes a build error on AIX that I introuced on Friday.

	* src/papi_events.csv: Initial PAPI Fam14h Bobcat support.

	  Only works with libpfm4 version of PAPI.

	  Passes most of the tests, but still need to verify as there are a
	  number of subtle differences in the native events.

2011-05-20

	* src/ctests/: byte_profile.c, mendes-alt.c, papi_test.h,
	  prof_utils.c, test_utils.c: Fix byte_profile to work on Nehalem.
	  Still needs some more work   to print the result properly.

	* src/ctests/: attach2.c, attach3.c, branches.c, byte_profile.c,
	  case1.c, case2.c, first.c, multiattach.c, multiattach2.c,
	  overflow.c, overflow3_pthreads.c, overflow_index.c,
	  overflow_one_and_read.c, overflow_pthreads.c, papi_test.h,
	  prof_utils.c, profile_pthreads.c, reset.c, sdsc.c, sprofile.c,
	  tenth.c, test_utils.c, zero.c, zero_attach.c, zero_fork.c,
	  zero_pthreads.c: Some cleanups to the ctests/test_utils.c code +
	  Remove the hw_info field from the add_two_events() and
	  add_two_nonderived_events() functions, as it wasn't used.  + Make
	  the add_test_events() function loop through all the masks,
	  insteading having a hardcoded test for each possible mask

	* src/ctests/test_utils.c: buildbot didn't like the colored test
	  messages (despite the code   having fancy checks for "isatty()").

	  So change the color thing to require an environment variable to
	  be set,   TESTS_COLOR=y

2011-05-19

	* src/ctests/test_utils.c: Add color to the testsuite results if we
	  are running at a console.  This makes is much easier to see
	  FAILED results.

	  I can back this out if people don't like it, but it's made my
	  life	a lot easier when running all the tests involved with the
	  libpfm4 merge.

	* src/: papi_pfm_events.c, papi_pfm_events.h: Fix the build with
	  perfctr introduced by libpfm4 changes.

	* src/configure.in: Documentation for the AIX heap fix.

	* src/: papi_pfm4_events.c, ctests/test_utils.c: power6 doesn't
	  work with libpfm4, as it reports num_cntrs=0

	  have PAPI print a better error in this case until we get a fix
	  upstream.

	* src/: configure, configure.in: On aix one has to ask really
	  nicely for a usable ammount of heap space.  The omp tests should
	  run now.

	* src/: configure, configure.in, perf_events.c,
	  sys_perf_event_open.c: This is the last commit needed to get
	  libpfm4 support going.

	  To build with libpfm4 support enabled, run configure like this:
	   ./configure --with-libpfm4

	* src/: papi_pfm_events.c, papi_pfm_events.h, perf_events.c: Pass
	  the actual perf_attr structure around, rather than just a 64-bit
	  event value.	This allows support for generalized events and
	  eventual offcore/uncore support.

	* src/: papi_pfm_events.c, perf_events.c, perf_events.h: Clean up
	  some debugging #ifdefs

	* src/papi_events.csv: The papi_events.csv file requires some
	  additions for libpfm4 to work   + The CPU family names have
	  changed from libpfm3 to libpfm4     It should be backward
	  compatible to just add the libpfm4 ones     in addition to the
	  libpfm3 ones	 + libpfm4 does not provide a helper to get the
	  instruction and cycle     event names.  So we have to add them
	  for all supported CPUs

	* src/: Rules.pfm4_pe, papi_pfm4_events.c: New files needed for
	  libpfm4 support

2011-05-16

	* release_procedure.txt: Add note to update from cvs before
	  tagging.  Thanks, Will Cohen :)