[GIT]: libpfm4 branch, master, updated. c1770ac7eedcddca32f5108a46269d9537bcab04
Status: Beta
Brought to you by:
seranian
From: seranian <ser...@us...> - 2011-05-31 13:22:44
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "libpfm4". The branch, master has been updated via c1770ac7eedcddca32f5108a46269d9537bcab04 (commit) from b86c8c6fa40c30b31476e8313c3c4fb3fb2f7d86 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c1770ac7eedcddca32f5108a46269d9537bcab04 Author: Stephane Eranian <er...@gm...> Date: Tue May 31 15:12:34 2011 +0200 reduce size of the Intel X86 event tables The goal of this change is to minimize the space needed for the Intel X86 event tables. With the current code, the Intel X86 events were defined as: struct intel_x86_event { unsigned int code unsigned int numasks; intel_x86_umask_t umasks[MAX_UMASK]; }; Turns out that in general events have few umasks, except for a handful of events, such as offcore_response on NHM/WSM/SNB. To accomodate those few events, the umasks array had to sized to the largest number of umasks. The consequence was that a lot of space was wasted. With this patch: struct intel_x86_event { unsigned int code unsigned int numasks; intel_x86_umask_t *umasks; }; The umask table is defined separately from the event itself. Thus, only the space actually needed for an event is allocated. All the Intel X86 event tables had to be rewritten to this new format. This transformation was done programmatically. An advantage of this approach is that now all the event tables are formatted the same way. The size reduction is significant: 50%. The patch also modifies the way the ucode field is encoded. The umask code is now encoded at its final position in the register, bit 8-15. Signed-off-by: Stephane Eranian <er...@gm...> ----------------------------------------------------------------------- Summary of changes: lib/events/intel_atom_events.h | 2626 ++++++++++---------- lib/events/intel_core_events.h | 3695 ++++++++++++++-------------- lib/events/intel_coreduo_events.h | 2375 +++++++++--------- lib/events/intel_nhm_events.h | 4870 +++++++++++++++++++------------------ lib/events/intel_nhm_unc_events.h | 2559 +++++++++---------- lib/events/intel_p6_events.h | 1974 ++++++---------- lib/events/intel_pii_events.h | 657 +++++ lib/events/intel_pm_events.h | 931 +++++++ lib/events/intel_ppro_events.h | 526 ++++ lib/events/intel_snb_events.h | 4431 +++++++++++++++++----------------- lib/events/intel_wsm_events.h | 4909 ++++++++++++++++++------------------- lib/events/intel_wsm_unc_events.h | 2879 ++++++++++------------ lib/pfmlib_intel_core.c | 2 +- lib/pfmlib_intel_coreduo.c | 4 +- lib/pfmlib_intel_nhm.c | 4 +- lib/pfmlib_intel_nhm_unc.c | 15 +- lib/pfmlib_intel_p6.c | 21 +- lib/pfmlib_intel_snb.c | 2 +- lib/pfmlib_intel_wsm.c | 4 +- lib/pfmlib_intel_x86.c | 24 +- lib/pfmlib_intel_x86_priv.h | 20 +- 21 files changed, 16889 insertions(+), 15639 deletions(-) create mode 100644 lib/events/intel_pii_events.h create mode 100644 lib/events/intel_pm_events.h create mode 100644 lib/events/intel_ppro_events.h hooks/post-receive -- libpfm4 |