Bug 31123 - improvements to hardware event implementation
Summary: improvements to hardware event implementation
Status: ASSIGNED
Alias: None
Product: binutils
Classification: Unclassified
Component: gprofng (show other bugs)
Version: 2.41
: P2 normal
Target Milestone: ---
Assignee: Vladimir Mezentsev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-08 14:58 UTC by Kurt Goebel
Modified: 2024-01-11 03:19 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kurt Goebel 2023-12-08 14:58:44 UTC

    
Comment 1 Sourceware Commits 2024-01-10 17:48:14 UTC
The master branch has been updated by Vladimir Mezentsev <vmezents@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8fe04eeb2cbb8c4cf7b6e8d9183fe09a8b2e8d51

commit 8fe04eeb2cbb8c4cf7b6e8d9183fe09a8b2e8d51
Author: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date:   Mon Jan 8 22:00:24 2024 -0800

    gprofng: 31123 improvements to hardware event implementation
    
    Our hardware counter profiling is based on perf_event_open().
    Our HWC tables are absent for new machines.
    I have added HWC tables for the following events: PERF_TYPE_HARDWARE,
    PERF_TYPE_SOFTWARE, PERF_TYPE_HW_CACHE. Other events require additional fixes.
    
    Did a little cleaning: marked the symbols as static, used Stringbuilder,
    created a function to read /proc/cpuinfo.
    
    gprofng/ChangeLog
    2024-01-08  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
    
            PR gprofng/31123
            * common/core_pcbe.c: Mark the symbols as static. Add events_generic[].
            * common/hwc_cpus.h: Declare a new function read_cpuinfo.
            * common/hwcdrv.c: Add a new parameter in init_perf_event().
            * common/hwcentry.h: Add use_perf_event_type in Hwcentry.
            * common/hwcfuncs.c (process_data_descriptor): Read use_perf_event_type,
            type, config.
            * common/hwctable.c: Add a new HWC table generic_list[].
            * common/opteron_pcbe.c (opt_pcbe_init): Accept AMD machines.
            * src/collctrl.cc: Use StringBuilder in Coll_Ctrl::build_data_desc().
            Add a new function read_cpuinfo.