mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
perf: Add non-exec mmap() tracking
Add the capacility to track data mmap()s. This can be used together with PERF_SAMPLE_ADDR for data profiling. Signed-off-by: Anton Blanchard <[email protected]> [Updated code for stable perf ABI] Signed-off-by: Eric B Munson <[email protected]> Signed-off-by: Peter Zijlstra <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Mike Galbraith <[email protected]> Cc: Steven Rostedt <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
parent
8ed92280be
commit
3af9e85928
5 changed files with 35 additions and 22 deletions
|
|
@ -1734,8 +1734,10 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
|
|||
grow = (address - vma->vm_end) >> PAGE_SHIFT;
|
||||
|
||||
error = acct_stack_growth(vma, size, grow);
|
||||
if (!error)
|
||||
if (!error) {
|
||||
vma->vm_end = address;
|
||||
perf_event_mmap(vma);
|
||||
}
|
||||
}
|
||||
anon_vma_unlock(vma);
|
||||
return error;
|
||||
|
|
@ -1781,6 +1783,7 @@ static int expand_downwards(struct vm_area_struct *vma,
|
|||
if (!error) {
|
||||
vma->vm_start = address;
|
||||
vma->vm_pgoff -= grow;
|
||||
perf_event_mmap(vma);
|
||||
}
|
||||
}
|
||||
anon_vma_unlock(vma);
|
||||
|
|
@ -2208,6 +2211,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
|
|||
vma->vm_page_prot = vm_get_page_prot(flags);
|
||||
vma_link(mm, vma, prev, rb_link, rb_parent);
|
||||
out:
|
||||
perf_event_mmap(vma);
|
||||
mm->total_vm += len >> PAGE_SHIFT;
|
||||
if (flags & VM_LOCKED) {
|
||||
if (!mlock_vma_pages_range(vma, addr, addr + len))
|
||||
|
|
|
|||
Loading…
Reference in a new issue