On 03/12/2016 05:50 PM, Andreas Beckmann wrote:
> On 2016-03-12 17:10, Stephane Eranian wrote:
>> Hi Will,
>>
>> I tried your patch on my Ubuntu system.
>> It is using gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1).
>>
>> It compiles fine but I see no difference in size using size -t lib/libpfm.a.
>
>> So do you need a specific compiler version or the patch is missing
>> something?
>
> That patch primarily affects the (exported) content of the shared
> library, not the static library.
>
> I gave it a short test on Debian and papi (the only user of the libpfm4
> package) continued to work after I installed the new libpfm4 package
> which exports fewer symbols. (In Debian, papi is built against the
> separately packaged libpfm4, not the bundled copy. It uses the shared
> library.)
>
> Andreas
Hi Stephane and Andreas,
Yes, the change is only going to affect the libpfm.so file. The libpfm.a is
going to be the same. the abidiff from libabigail
(https://www.sourceware.org/libabigail/) shows that a lot of the internal
symbols are no longer exported. Attached is the output of:
abidiff libpfm-4.7.0.orig/lib/libpfm.so.4.7.0
libpfm-4.7.0.hidden/lib/libpfm.so.4.7.0 > abidiff.log
eu-size shows the reduction in size:
$ eu-size libpfm-4.7.0.orig/lib/libpfm.so.4.7.0
libpfm-4.7.0.hidden/lib/libpfm.so.4.7.0
text data bss dec
hex filename
1120871 673600 6208 1800679
1b79e7 libpfm-4.7.0.orig/lib/libpfm.so.4.7.0
1106646 673368 6208 1786222
1b416e libpfm-4.7.0.hidden/lib/libpfm.so.4.7.0
"eu-readelf -l" also shows the reductions:
$ eu-readelf -l libpfm-4.7.0.orig/lib/libpfm.so.4.7.0
libpfm-4.7.0.hidden/lib/libpfm.so.4.7.0
libpfm-4.7.0.orig/lib/libpfm.so.4.7.0:
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz
Flg Align
LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x111c4c
0x111c4c R E 0x200000
LOAD 0x112570 0x0000000000312570 0x0000000000312570 0x0a4768
0x0a5fb0 RW 0x200000
DYNAMIC 0x1a5da0 0x00000000003a5da0 0x00000000003a5da0 0x0001d0
0x0001d0 RW 0x8
NOTE 0x0001c8 0x00000000000001c8 0x00000000000001c8 0x000024
0x000024 R 0x4
GNU_EH_FRAME 0x10f614 0x000000000010f614 0x000000000010f614 0x00078c
0x00078c R 0x4
GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000
0x000000 RW 0x10
GNU_RELRO 0x112570 0x0000000000312570 0x0000000000312570 0x093a90
0x093a90 R 0x1
Section to Segment mapping:
Segment Sections...
00 [RO: .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version
.gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr
.eh_frame]
01 [RELRO: .init_array .fini_array .jcr .data.rel.ro .dynamic .got]
.got.plt .data .bss
02 [RELRO: .dynamic]
03 [RO: .note.gnu.build-id]
04 [RO: .eh_frame_hdr]
05
06 [RELRO: .init_array .fini_array .jcr .data.rel.ro .dynamic .got]
libpfm-4.7.0.hidden/lib/libpfm.so.4.7.0:
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz
Flg Align
LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x10e4cc
0x10e4cc R E 0x200000
LOAD 0x10e5c8 0x000000000030e5c8 0x000000000030e5c8 0x0a4670
0x0a5eb8 RW 0x200000
DYNAMIC 0x1a1de0 0x00000000003a1de0 0x00000000003a1de0 0x0001d0
0x0001d0 RW 0x8
NOTE 0x0001c8 0x00000000000001c8 0x00000000000001c8 0x000024
0x000024 R 0x4
GNU_EH_FRAME 0x10be94 0x000000000010be94 0x000000000010be94 0x00078c
0x00078c R 0x4
GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000
0x000000 RW 0x10
GNU_RELRO 0x10e5c8 0x000000000030e5c8 0x000000000030e5c8 0x093a38
0x093a38 R 0x1
Section to Segment mapping:
Segment Sections...
00 [RO: .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version
.gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr
.eh_frame]
01 [RELRO: .init_array .fini_array .jcr .data.rel.ro .dynamic .got]
.got.plt .data .bss
02 [RELRO: .dynamic]
03 [RO: .note.gnu.build-id]
04 [RO: .eh_frame_hdr]
05
06 [RELRO: .init_array .fini_array .jcr .data.rel.ro .dynamic .got]
-Will
Functions changes summary: 59 Removed, 0 Changed, 0 Added functions
Variables changes summary: 154 Removed, 0 Changed, 0 Added variables
59 Removed functions:
'function void __pfm_dbprintf(const char*, ...)' {__pfm_dbprintf}
'function void __pfm_vbprintf(const char*, ...)' {__pfm_vbprintf}
'function void amd64_display_reg(void*, pfmlib_event_desc_t*)' {amd64_display_reg}
'function int intel_x86_attr2mod(void*, int, int)' {intel_x86_attr2mod}
'function int pfm_amd64_detect(void*)' {pfm_amd64_detect}
'function int pfm_amd64_event_is_valid(void*, int)' {pfm_amd64_event_is_valid}
'function int pfm_amd64_family_detect(void*)' {pfm_amd64_family_detect}
'function int pfm_amd64_get_encoding(void*, pfmlib_event_desc_t*)' {pfm_amd64_get_encoding}
'function int pfm_amd64_get_event_attr_info(void*, int, int, pfm_event_attr_info_t*)' {pfm_amd64_get_event_attr_info}
'function int pfm_amd64_get_event_first(void*)' {pfm_amd64_get_event_first}
'function int pfm_amd64_get_event_info(void*, int, pfm_event_info_t*)' {pfm_amd64_get_event_info}
'function unsigned int pfm_amd64_get_event_nattrs(void*, int)' {pfm_amd64_get_event_nattrs}
'function int pfm_amd64_get_event_next(void*, int)' {pfm_amd64_get_event_next}
'function int pfm_amd64_get_num_events(void*)' {pfm_amd64_get_num_events}
'function int pfm_amd64_get_perf_encoding(void*, pfmlib_event_desc_t*)' {pfm_amd64_get_perf_encoding}
'function void pfm_amd64_nb_perf_validate_pattrs(void*, pfmlib_event_desc_t*)' {pfm_amd64_nb_perf_validate_pattrs}
'function void pfm_amd64_perf_validate_pattrs(void*, pfmlib_event_desc_t*)' {pfm_amd64_perf_validate_pattrs}
'function int pfm_amd64_validate_table(void*, FILE*)' {pfm_amd64_validate_table}
'function int pfm_intel_hswep_unc_detect(void*)' {pfm_intel_hswep_unc_detect}
'function int pfm_intel_ivbep_unc_detect(void*)' {pfm_intel_ivbep_unc_detect}
'function int pfm_intel_nhm_unc_get_perf_encoding(void*, pfmlib_event_desc_t*)' {pfm_intel_nhm_unc_get_perf_encoding}
'function int pfm_intel_snbep_unc_can_auto_encode(void*, int, int)' {pfm_intel_snbep_unc_can_auto_encode}
'function int pfm_intel_snbep_unc_detect(void*)' {pfm_intel_snbep_unc_detect}
'function int pfm_intel_snbep_unc_get_encoding(void*, pfmlib_event_desc_t*)' {pfm_intel_snbep_unc_get_encoding}
'function int pfm_intel_snbep_unc_get_event_attr_info(void*, int, int, pfm_event_attr_info_t*)' {pfm_intel_snbep_unc_get_event_attr_info}
'function int pfm_intel_snbep_unc_get_perf_encoding(void*, pfmlib_event_desc_t*)' {pfm_intel_snbep_unc_get_perf_encoding}
'function void pfm_intel_snbep_unc_perf_validate_pattrs(void*, pfmlib_event_desc_t*)' {pfm_intel_snbep_unc_perf_validate_pattrs}
'function int pfm_intel_x86_add_defaults(void*, pfmlib_event_desc_t*, unsigned int, uint64_t*, unsigned int)' {pfm_intel_x86_add_defaults}
'function void pfm_intel_x86_arch_terminate(void*)' {pfm_intel_x86_arch_terminate}
'function int pfm_intel_x86_can_auto_encode(void*, int, int)' {pfm_intel_x86_can_auto_encode}
'function int pfm_intel_x86_detect()' {pfm_intel_x86_detect}
'function int pfm_intel_x86_event_is_valid(void*, int)' {pfm_intel_x86_event_is_valid}
'function int pfm_intel_x86_get_encoding(void*, pfmlib_event_desc_t*)' {pfm_intel_x86_get_encoding}
'function int pfm_intel_x86_get_event_attr_info(void*, int, int, pfm_event_attr_info_t*)' {pfm_intel_x86_get_event_attr_info}
'function int pfm_intel_x86_get_event_first(void*)' {pfm_intel_x86_get_event_first}
'function int pfm_intel_x86_get_event_info(void*, int, pfm_event_info_t*)' {pfm_intel_x86_get_event_info}
'function unsigned int pfm_intel_x86_get_event_nattrs(void*, int)' {pfm_intel_x86_get_event_nattrs}
'function int pfm_intel_x86_get_event_next(void*, int)' {pfm_intel_x86_get_event_next}
'function int pfm_intel_x86_get_perf_encoding(void*, pfmlib_event_desc_t*)' {pfm_intel_x86_get_perf_encoding}
'function int pfm_intel_x86_model_detect(void*)' {pfm_intel_x86_model_detect}
'function int pfm_intel_x86_perf_detect(void*)' {pfm_intel_x86_perf_detect}
'function void pfm_intel_x86_perf_validate_pattrs(void*, pfmlib_event_desc_t*)' {pfm_intel_x86_perf_validate_pattrs}
'function int pfm_intel_x86_requesting_pebs(pfmlib_event_desc_t*)' {pfm_intel_x86_requesting_pebs}
'function int pfm_intel_x86_valid_pebs(pfmlib_event_desc_t*)' {pfm_intel_x86_valid_pebs}
'function int pfm_intel_x86_validate_table(void*, FILE*)' {pfm_intel_x86_validate_table}
'function int pfm_netburst_get_encoding(void*, pfmlib_event_desc_t*)' {pfm_netburst_get_encoding}
'function int pfm_netburst_get_perf_encoding(void*, pfmlib_event_desc_t*)' {pfm_netburst_get_perf_encoding}
'function void pfm_netburst_perf_validate_pattrs(void*, pfmlib_event_desc_t*)' {pfm_netburst_perf_validate_pattrs}
'function const char* pfm_nhm_data_src_desc(int)' {pfm_nhm_data_src_desc}
'function int pfmlib_build_fstr(pfmlib_event_desc_t*, char**)' {pfmlib_build_fstr}
'function size_t pfmlib_check_struct(void*, size_t, size_t, size_t)' {pfmlib_check_struct}
'function void pfmlib_compact_pattrs(pfmlib_event_desc_t*, int)' {pfmlib_compact_pattrs}
'function pfmlib_pmu_t* pfmlib_get_pmu_by_type(pfm_pmu_type_t)' {pfmlib_get_pmu_by_type}
'function int pfmlib_getl(char**, size_t*, FILE*)' {pfmlib_getl}
'function int pfmlib_parse_event(const char*, pfmlib_event_desc_t*)' {pfmlib_parse_event}
'function void pfmlib_release_event(pfmlib_event_desc_t*)' {pfmlib_release_event}
'function void pfmlib_sort_attr(pfmlib_event_desc_t*)' {pfmlib_sort_attr}
'function void pfmlib_strconcat(char*, size_t, const char*, ...)' {pfmlib_strconcat}
'function int snbep_unc_add_defaults(void*, pfmlib_event_desc_t*, unsigned int, uint64_t*, unsigned int)' {snbep_unc_add_defaults}
154 Removed variables:
[D] 'pfmlib_pmu_t amd64_fam10h_barcelona_support' {amd64_fam10h_barcelona_support}
[D] 'pfmlib_pmu_t amd64_fam10h_istanbul_support' {amd64_fam10h_istanbul_support}
[D] 'pfmlib_pmu_t amd64_fam10h_shanghai_support' {amd64_fam10h_shanghai_support}
[D] 'pfmlib_pmu_t amd64_fam11h_turion_support' {amd64_fam11h_turion_support}
[D] 'pfmlib_pmu_t amd64_fam12h_llano_support' {amd64_fam12h_llano_support}
[D] 'pfmlib_pmu_t amd64_fam14h_bobcat_support' {amd64_fam14h_bobcat_support}
[D] 'pfmlib_pmu_t amd64_fam15h_interlagos_support' {amd64_fam15h_interlagos_support}
[D] 'pfmlib_pmu_t amd64_fam15h_nb_support' {amd64_fam15h_nb_support}
[D] 'pfmlib_pmu_t amd64_k7_support' {amd64_k7_support}
[D] 'pfmlib_pmu_t amd64_k8_revb_support' {amd64_k8_revb_support}
[D] 'pfmlib_pmu_t amd64_k8_revc_support' {amd64_k8_revc_support}
[D] 'pfmlib_pmu_t amd64_k8_revd_support' {amd64_k8_revd_support}
[D] 'pfmlib_pmu_t amd64_k8_reve_support' {amd64_k8_reve_support}
[D] 'pfmlib_pmu_t amd64_k8_revf_support' {amd64_k8_revf_support}
[D] 'pfmlib_pmu_t amd64_k8_revg_support' {amd64_k8_revg_support}
[D] 'const pfmlib_attr_desc_t[8] amd64_mods' {amd64_mods}
[D] 'pfmlib_pmu_t amd64_support' {amd64_support}
[D] 'pfmlib_pmu_t intel_atom_support' {intel_atom_support}
[D] 'pfmlib_pmu_t intel_bdw_support' {intel_bdw_support}
[D] 'pfmlib_pmu_t intel_core_support' {intel_core_support}
[D] 'pfmlib_pmu_t intel_hsw_ep_support' {intel_hsw_ep_support}
[D] 'pfmlib_pmu_t intel_hsw_support' {intel_hsw_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb0_support' {intel_hswep_unc_cb0_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb10_support' {intel_hswep_unc_cb10_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb11_support' {intel_hswep_unc_cb11_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb12_support' {intel_hswep_unc_cb12_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb13_support' {intel_hswep_unc_cb13_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb14_support' {intel_hswep_unc_cb14_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb15_support' {intel_hswep_unc_cb15_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb16_support' {intel_hswep_unc_cb16_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb17_support' {intel_hswep_unc_cb17_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb1_support' {intel_hswep_unc_cb1_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb2_support' {intel_hswep_unc_cb2_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb3_support' {intel_hswep_unc_cb3_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb4_support' {intel_hswep_unc_cb4_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb5_support' {intel_hswep_unc_cb5_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb6_support' {intel_hswep_unc_cb6_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb7_support' {intel_hswep_unc_cb7_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb8_support' {intel_hswep_unc_cb8_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_cb9_support' {intel_hswep_unc_cb9_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_ha0_support' {intel_hswep_unc_ha0_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_ha1_support' {intel_hswep_unc_ha1_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_imc0_support' {intel_hswep_unc_imc0_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_imc1_support' {intel_hswep_unc_imc1_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_imc2_support' {intel_hswep_unc_imc2_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_imc3_support' {intel_hswep_unc_imc3_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_imc4_support' {intel_hswep_unc_imc4_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_imc5_support' {intel_hswep_unc_imc5_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_imc6_support' {intel_hswep_unc_imc6_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_imc7_support' {intel_hswep_unc_imc7_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_irp_support' {intel_hswep_unc_irp_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_pcu_support' {intel_hswep_unc_pcu_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_qpi0_support' {intel_hswep_unc_qpi0_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_qpi1_support' {intel_hswep_unc_qpi1_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_r2pcie_support' {intel_hswep_unc_r2pcie_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_r3qpi0_support' {intel_hswep_unc_r3qpi0_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_r3qpi1_support' {intel_hswep_unc_r3qpi1_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_r3qpi2_support' {intel_hswep_unc_r3qpi2_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_sb0_support' {intel_hswep_unc_sb0_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_sb1_support' {intel_hswep_unc_sb1_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_sb2_support' {intel_hswep_unc_sb2_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_sb3_support' {intel_hswep_unc_sb3_support}
[D] 'pfmlib_pmu_t intel_hswep_unc_ubo_support' {intel_hswep_unc_ubo_support}
[D] 'pfmlib_pmu_t intel_ivb_ep_support' {intel_ivb_ep_support}
[D] 'pfmlib_pmu_t intel_ivb_support' {intel_ivb_support}
[D] 'pfmlib_pmu_t intel_ivb_unc_cbo0_support' {intel_ivb_unc_cbo0_support}
[D] 'pfmlib_pmu_t intel_ivb_unc_cbo1_support' {intel_ivb_unc_cbo1_support}
[D] 'pfmlib_pmu_t intel_ivb_unc_cbo2_support' {intel_ivb_unc_cbo2_support}
[D] 'pfmlib_pmu_t intel_ivb_unc_cbo3_support' {intel_ivb_unc_cbo3_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb0_support' {intel_ivbep_unc_cb0_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb10_support' {intel_ivbep_unc_cb10_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb11_support' {intel_ivbep_unc_cb11_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb12_support' {intel_ivbep_unc_cb12_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb13_support' {intel_ivbep_unc_cb13_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb14_support' {intel_ivbep_unc_cb14_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb1_support' {intel_ivbep_unc_cb1_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb2_support' {intel_ivbep_unc_cb2_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb3_support' {intel_ivbep_unc_cb3_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb4_support' {intel_ivbep_unc_cb4_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb5_support' {intel_ivbep_unc_cb5_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb6_support' {intel_ivbep_unc_cb6_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb7_support' {intel_ivbep_unc_cb7_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb8_support' {intel_ivbep_unc_cb8_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_cb9_support' {intel_ivbep_unc_cb9_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_ha0_support' {intel_ivbep_unc_ha0_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_ha1_support' {intel_ivbep_unc_ha1_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_imc0_support' {intel_ivbep_unc_imc0_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_imc1_support' {intel_ivbep_unc_imc1_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_imc2_support' {intel_ivbep_unc_imc2_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_imc3_support' {intel_ivbep_unc_imc3_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_imc4_support' {intel_ivbep_unc_imc4_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_imc5_support' {intel_ivbep_unc_imc5_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_imc6_support' {intel_ivbep_unc_imc6_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_imc7_support' {intel_ivbep_unc_imc7_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_irp_support' {intel_ivbep_unc_irp_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_pcu_support' {intel_ivbep_unc_pcu_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_qpi0_support' {intel_ivbep_unc_qpi0_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_qpi1_support' {intel_ivbep_unc_qpi1_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_qpi2_support' {intel_ivbep_unc_qpi2_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_r2pcie_support' {intel_ivbep_unc_r2pcie_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_r3qpi0_support' {intel_ivbep_unc_r3qpi0_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_r3qpi1_support' {intel_ivbep_unc_r3qpi1_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_r3qpi2_support' {intel_ivbep_unc_r3qpi2_support}
[D] 'pfmlib_pmu_t intel_ivbep_unc_ubo_support' {intel_ivbep_unc_ubo_support}
[D] 'pfmlib_pmu_t intel_knc_support' {intel_knc_support}
[D] 'pfmlib_pmu_t intel_nhm_ex_support' {intel_nhm_ex_support}
[D] 'pfmlib_pmu_t intel_nhm_support' {intel_nhm_support}
[D] 'pfmlib_pmu_t intel_nhm_unc_support' {intel_nhm_unc_support}
[D] 'pfmlib_pmu_t intel_rapl_support' {intel_rapl_support}
[D] 'pfmlib_pmu_t intel_skl_support' {intel_skl_support}
[D] 'pfmlib_pmu_t intel_slm_support' {intel_slm_support}
[D] 'pfmlib_pmu_t intel_snb_ep_support' {intel_snb_ep_support}
[D] 'pfmlib_pmu_t intel_snb_support' {intel_snb_support}
[D] 'pfmlib_pmu_t intel_snb_unc_cbo0_support' {intel_snb_unc_cbo0_support}
[D] 'pfmlib_pmu_t intel_snb_unc_cbo1_support' {intel_snb_unc_cbo1_support}
[D] 'pfmlib_pmu_t intel_snb_unc_cbo2_support' {intel_snb_unc_cbo2_support}
[D] 'pfmlib_pmu_t intel_snb_unc_cbo3_support' {intel_snb_unc_cbo3_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_cb0_support' {intel_snbep_unc_cb0_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_cb1_support' {intel_snbep_unc_cb1_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_cb2_support' {intel_snbep_unc_cb2_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_cb3_support' {intel_snbep_unc_cb3_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_cb4_support' {intel_snbep_unc_cb4_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_cb5_support' {intel_snbep_unc_cb5_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_cb6_support' {intel_snbep_unc_cb6_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_cb7_support' {intel_snbep_unc_cb7_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_ha_support' {intel_snbep_unc_ha_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_imc0_support' {intel_snbep_unc_imc0_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_imc1_support' {intel_snbep_unc_imc1_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_imc2_support' {intel_snbep_unc_imc2_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_imc3_support' {intel_snbep_unc_imc3_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_pcu_support' {intel_snbep_unc_pcu_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_qpi0_support' {intel_snbep_unc_qpi0_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_qpi1_support' {intel_snbep_unc_qpi1_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_r2pcie_support' {intel_snbep_unc_r2pcie_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_r3qpi0_support' {intel_snbep_unc_r3qpi0_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_r3qpi1_support' {intel_snbep_unc_r3qpi1_support}
[D] 'pfmlib_pmu_t intel_snbep_unc_ubo_support' {intel_snbep_unc_ubo_support}
[D] 'pfmlib_pmu_t intel_wsm_dp_support' {intel_wsm_dp_support}
[D] 'pfmlib_pmu_t intel_wsm_sp_support' {intel_wsm_sp_support}
[D] 'pfmlib_pmu_t intel_wsm_unc_support' {intel_wsm_unc_support}
[D] 'pfmlib_pmu_t intel_x86_arch_support' {intel_x86_arch_support}
[D] 'const pfmlib_attr_desc_t[11] intel_x86_mods' {intel_x86_mods}
[D] 'const pfmlib_attr_desc_t[5] netburst_mods' {netburst_mods}
[D] 'pfmlib_pmu_t netburst_p_support' {netburst_p_support}
[D] 'pfmlib_pmu_t netburst_support' {netburst_support}
[D] 'pfmlib_pmu_t perf_event_raw_support' {perf_event_raw_support}
[D] 'pfmlib_pmu_t perf_event_support' {perf_event_support}
[D] 'pfm_amd64_config_t pfm_amd64_cfg' {pfm_amd64_cfg}
[D] 'pfmlib_config_t pfm_cfg' {pfm_cfg}
[D] 'pfm_intel_x86_config_t pfm_intel_x86_cfg' {pfm_intel_x86_cfg}
[D] 'pfmlib_os_t* pfmlib_os' {pfmlib_os}
[D] 'pfmlib_os_t pfmlib_os_perf' {pfmlib_os_perf}
[D] 'pfmlib_os_t pfmlib_os_perf_ext' {pfmlib_os_perf_ext}
[D] 'const pfmlib_attr_desc_t[14] snbep_unc_mods' {snbep_unc_mods}
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel