Messages in this thread | | | Date | Tue, 25 Jun 2013 12:51:23 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 0/8] perf: add ability to sample physical data addresses |
| |
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, Jun 25, 2013 at 11:59:09AM +0200, Stephane Eranian wrote: > > One guarantee we have is that the physical does correspond to the virtual > > address at the time of the interrupt. > > That might not be much of a guarantee depending on the circumstances. > > > But yeah, if physical pages are swapped during the run, then things become > > a lot more complicated. I am not trying to address this. > > > > Can page move for shared memory segments? > > Yep.. > > > > Such would completely shatter physical page relations. > > > > > > If the shared memory thing is really the issue, doesn't perf already > > > have the process memory layout (/proc/$PID/maps and aux stream mmap > > > updates) with which it can compute map relative offsets and compare > > > thusly? > > > > Not sure I understand this. > > suppose the same shared memory segment is mapped at two different > > addresses by shmat(). First, I don't know if those show up in /proc/maps. > > They should; IIRC maps is a full vma list.. /me prods about in > fs/proc/task_mmu.c.. yes it prints all vmas.
A syscall (ioctl?) to dump all current vmas into the mmap update stream (to form a starting point) might be handy - that would remove the fragility and overhead of parsing /proc/ details.
Thanks,
Ingo
| |