perf fixes
Subsystems (2)
Linus,
Please pull the latest perf-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-urgent-for-linus
HEAD: 8aa8a7c80ccdfac2df5ee48a51a4a7bee2143d4f perf record: Fix buffer overrun bug in tracepoint_id_to_path()
Thanks,
Ingo
------------------>
Peter Zijlstra (1):
perf/x86: Fix local vs remote memory events for NHM/WSM
Stephane Eranian (1):
perf record: Fix buffer overrun bug in tracepoint_id_to_path()
arch/x86/kernel/cpu/perf_event_intel.c | 17 +++++++++-------- tools/perf/util/parse-events.c | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-)
arch/x86/kernel/cpu/perf_event_intel.c +9 -8
@@ -385,14 +385,15 @@ static __initconst const u64 westmere_hw_cache_event_ids#define NHM_LOCAL_DRAM (1 << 14)#define NHM_NON_DRAM (1 << 15) -#define NHM_ALL_DRAM (NHM_REMOTE_DRAM|NHM_LOCAL_DRAM) +#define NHM_LOCAL (NHM_LOCAL_DRAM|NHM_REMOTE_CACHE_FWD) +#define NHM_REMOTE (NHM_REMOTE_DRAM)#define NHM_DMND_READ (NHM_DMND_DATA_RD)#define NHM_DMND_WRITE (NHM_DMND_RFO|NHM_DMND_WB)#define NHM_DMND_PREFETCH (NHM_PF_DATA_RD|NHM_PF_DATA_RFO)#define NHM_L3_HIT (NHM_UNCORE_HIT|NHM_OTHER_CORE_HIT_SNP|NHM_OTHER_CORE_HITM) -#define NHM_L3_MISS (NHM_NON_DRAM|NHM_ALL_DRAM|NHM_REMOTE_CACHE_FWD) +#define NHM_L3_MISS (NHM_NON_DRAM|NHM_LOCAL_DRAM|NHM_REMOTE_DRAM|NHM_REMOTE_CACHE_FWD)#define NHM_L3_ACCESS (NHM_L3_HIT|NHM_L3_MISS)static __initconst const u64 nehalem_hw_cache_extra_regs
@@ -416,16 +417,16 @@ static __initconst const u64 nehalem_hw_cache_extra_regs }, [C (NODE ) ] = { [C (OP_READ ) ] = { - [C (RESULT_ACCESS ) ] =NHM_DMND_READ |NHM_ALL_DRAM , - [C (RESULT_MISS ) ] =NHM_DMND_READ |NHM_REMOTE_DRAM , + [C (RESULT_ACCESS ) ] =NHM_DMND_READ |NHM_LOCAL |NHM_REMOTE , + [C (RESULT_MISS ) ] =NHM_DMND_READ |NHM_REMOTE , }, [C (OP_WRITE ) ] = { - [C (RESULT_ACCESS ) ] =NHM_DMND_WRITE |NHM_ALL_DRAM , - [C (RESULT_MISS ) ] =NHM_DMND_WRITE |NHM_REMOTE_DRAM , + [C (RESULT_ACCESS ) ] =NHM_DMND_WRITE |NHM_LOCAL |NHM_REMOTE , + [C (RESULT_MISS ) ] =NHM_DMND_WRITE |NHM_REMOTE , }, [C (OP_PREFETCH ) ] = { - [C (RESULT_ACCESS ) ] =NHM_DMND_PREFETCH |NHM_ALL_DRAM , - [C (RESULT_MISS ) ] =NHM_DMND_PREFETCH |NHM_REMOTE_DRAM , + [C (RESULT_ACCESS ) ] =NHM_DMND_PREFETCH |NHM_LOCAL |NHM_REMOTE , + [C (RESULT_MISS ) ] =NHM_DMND_PREFETCH |NHM_REMOTE , }, }, };
tools/perf/util/parse-events.c +1 -1
@@ -165,7 +165,7 @@ struct tracepoint_path *tracepoint_id_to_path(u64 config)struct tracepoint_path *path =NULL ;DIR *sys_dir, *evt_dir;struct dirent *sys_next, *evt_next, sys_dirent, evt_dirent; -char id_buf[4 ]; +char id_buf[24 ];int fd;u64 id;char evt_path[MAXPATHLEN ];