On Wed, Aug 23, 2017 at 04:33:08PM +0200, Peter Zijlstra wrote: > > @@ -6145,6 +6183,9 @@ void perf_prepare_sample(struct perf_event_header > > *header, > > > > header->size += size; > > } > > + > > + if (sample_type & PERF_SAMPLE_PHYS_ADDR) > > + data->phys_addr = perf_virt_to_phys(data->addr); > > Only problem with this now is that it requires SAMPLE_ADDR to also be > set in order to obtain data->addr. > > Either fix all to set data->attr for (SAMPLE_ADDR || SAMPLE_PHYS_ADDR) > or mandate SAMPLE_ADDR when SAMPLE_PHYS_ADDR.
I think the former suggestion is better, as it allows for smaller samples.