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

Reply via email to