[PATCH 1/2] perf_counter: Add mmap event hooks to mprotect()

From: Pekka J Enberg
Date: Mon Jun 08 2009 - 14:12:11 EST


From: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>

Some JIT compilers allocate memory for generated code with
posix_memalign() + mprotect() so we need to hook into mprotect() to make
sure 'perf' is aware that we're executing code in anonymous memory.

[ penberg@xxxxxxxxxxxxxx: move the hook to sys_mprotect() ]
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
---
mm/mprotect.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/mm/mprotect.c b/mm/mprotect.c
index 258197b..d80311b 100644
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@ -23,6 +23,7 @@
#include <linux/swapops.h>
#include <linux/mmu_notifier.h>
#include <linux/migrate.h>
+#include <linux/perf_counter.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/cacheflush.h>
@@ -299,6 +300,7 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
error = mprotect_fixup(vma, &prev, nstart, tmp, newflags);
if (error)
goto out;
+ perf_counter_mmap(vma);
nstart = tmp;

if (nstart < prev->vm_end)
--
1.5.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/