Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fixes from Thomas Gleixner: "Three fixlets for perf: - Return the proper error code if aux buffers for a event are not supported. - Calculate the probe offset for inlined functions correctly - Update the Skylake DTLB load/store miss event so it can count 1G TLB entries as well" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf probe: Fix probe definition for inlined functions perf/x86/intel: Add 1G DTLB load/store miss support for SKL perf/aux: Correct return code of rb_alloc_aux() if !has_aux(ev)
This commit is contained in:
commit
35d8d5d47c
@ -431,11 +431,11 @@ static __initconst const u64 skl_hw_cache_event_ids
|
|||||||
[ C(DTLB) ] = {
|
[ C(DTLB) ] = {
|
||||||
[ C(OP_READ) ] = {
|
[ C(OP_READ) ] = {
|
||||||
[ C(RESULT_ACCESS) ] = 0x81d0, /* MEM_INST_RETIRED.ALL_LOADS */
|
[ C(RESULT_ACCESS) ] = 0x81d0, /* MEM_INST_RETIRED.ALL_LOADS */
|
||||||
[ C(RESULT_MISS) ] = 0x608, /* DTLB_LOAD_MISSES.WALK_COMPLETED */
|
[ C(RESULT_MISS) ] = 0xe08, /* DTLB_LOAD_MISSES.WALK_COMPLETED */
|
||||||
},
|
},
|
||||||
[ C(OP_WRITE) ] = {
|
[ C(OP_WRITE) ] = {
|
||||||
[ C(RESULT_ACCESS) ] = 0x82d0, /* MEM_INST_RETIRED.ALL_STORES */
|
[ C(RESULT_ACCESS) ] = 0x82d0, /* MEM_INST_RETIRED.ALL_STORES */
|
||||||
[ C(RESULT_MISS) ] = 0x649, /* DTLB_STORE_MISSES.WALK_COMPLETED */
|
[ C(RESULT_MISS) ] = 0xe49, /* DTLB_STORE_MISSES.WALK_COMPLETED */
|
||||||
},
|
},
|
||||||
[ C(OP_PREFETCH) ] = {
|
[ C(OP_PREFETCH) ] = {
|
||||||
[ C(RESULT_ACCESS) ] = 0x0,
|
[ C(RESULT_ACCESS) ] = 0x0,
|
||||||
|
@ -580,7 +580,7 @@ int rb_alloc_aux(struct ring_buffer *rb, struct perf_event *event,
|
|||||||
int ret = -ENOMEM, max_order = 0;
|
int ret = -ENOMEM, max_order = 0;
|
||||||
|
|
||||||
if (!has_aux(event))
|
if (!has_aux(event))
|
||||||
return -ENOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
if (event->pmu->capabilities & PERF_PMU_CAP_AUX_NO_SG) {
|
if (event->pmu->capabilities & PERF_PMU_CAP_AUX_NO_SG) {
|
||||||
/*
|
/*
|
||||||
|
@ -619,7 +619,7 @@ static int post_process_probe_trace_point(struct probe_trace_point *tp,
|
|||||||
struct map *map, unsigned long offs)
|
struct map *map, unsigned long offs)
|
||||||
{
|
{
|
||||||
struct symbol *sym;
|
struct symbol *sym;
|
||||||
u64 addr = tp->address + tp->offset - offs;
|
u64 addr = tp->address - offs;
|
||||||
|
|
||||||
sym = map__find_symbol(map, addr);
|
sym = map__find_symbol(map, addr);
|
||||||
if (!sym)
|
if (!sym)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user