Merge remote-tracking branch 'origin/master' into perf/core
[sfrench/cifs-2.6.git] / arch / x86 / events / intel / ds.c
index b47cc4226934b3c16e3e5afeb374df2c89630cf8..afbf734e2ee3b84d304b353d43e20dfc8b36a203 100644 (file)
@@ -961,7 +961,8 @@ static void adaptive_pebs_record_size_update(void)
 
 #define PERF_PEBS_MEMINFO_TYPE (PERF_SAMPLE_ADDR | PERF_SAMPLE_DATA_SRC |   \
                                PERF_SAMPLE_PHYS_ADDR | PERF_SAMPLE_WEIGHT | \
-                               PERF_SAMPLE_TRANSACTION)
+                               PERF_SAMPLE_TRANSACTION |                    \
+                               PERF_SAMPLE_DATA_PAGE_SIZE)
 
 static u64 pebs_update_adaptive_cfg(struct perf_event *event)
 {
@@ -1337,6 +1338,10 @@ static u64 get_data_src(struct perf_event *event, u64 aux)
        return val;
 }
 
+#define PERF_SAMPLE_ADDR_TYPE  (PERF_SAMPLE_ADDR |             \
+                                PERF_SAMPLE_PHYS_ADDR |        \
+                                PERF_SAMPLE_DATA_PAGE_SIZE)
+
 static void setup_pebs_fixed_sample_data(struct perf_event *event,
                                   struct pt_regs *iregs, void *__pebs,
                                   struct perf_sample_data *data,
@@ -1451,7 +1456,7 @@ static void setup_pebs_fixed_sample_data(struct perf_event *event,
        }
 
 
-       if ((sample_type & (PERF_SAMPLE_ADDR | PERF_SAMPLE_PHYS_ADDR)) &&
+       if ((sample_type & PERF_SAMPLE_ADDR_TYPE) &&
            x86_pmu.intel_cap.pebs_format >= 1)
                data->addr = pebs->dla;
 
@@ -1579,7 +1584,7 @@ static void setup_pebs_adaptive_sample_data(struct perf_event *event,
                if (sample_type & PERF_SAMPLE_DATA_SRC)
                        data->data_src.val = get_data_src(event, meminfo->aux);
 
-               if (sample_type & (PERF_SAMPLE_ADDR | PERF_SAMPLE_PHYS_ADDR))
+               if (sample_type & PERF_SAMPLE_ADDR_TYPE)
                        data->addr = meminfo->address;
 
                if (sample_type & PERF_SAMPLE_TRANSACTION)