Messages in this thread | | | From | Stephane Eranian <> | Date | Wed, 23 Aug 2017 10:00:37 -0700 | Subject | Re: [PATCH V6] perf: Add PERF_SAMPLE_PHYS_ADDR |
| |
On Wed, Aug 23, 2017 at 7:39 AM, Peter Zijlstra <peterz@infradead.org> wrote: > 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.
Agreed. I may only care about physical addresses, so SAMPLE_PHYS_ADDR should suffice from the user. The kernel must save the virtual address in data->addr, and then convert it.
| |