diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2007-05-02 13:27:14 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2007-05-02 13:27:14 -0400 |
commit | d6dd61c831226f9cd7750885da04d360d6455101 (patch) | |
tree | 30f84a429821d207f7de5dd6225d3d9515042c0a /include/asm-generic/mm_hooks.h | |
parent | 5311ab62cdc7788784971ed816ce85e926f3e994 (diff) |
[PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction
Add hooks to allow a paravirt implementation to track the lifetime of
an mm. Paravirtualization requires three hooks, but only two are
needed in common code. They are:
arch_dup_mmap, which is called when a new mmap is created at fork
arch_exit_mmap, which is called when the last process reference to an
mm is dropped, which typically happens on exit and exec.
The third hook is activate_mm, which is called from the arch-specific
activate_mm() macro/function, and so doesn't need stub versions for
other architectures. It's called when an mm is first used.
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: linux-arch@vger.kernel.org
Cc: James Bottomley <James.Bottomley@SteelEye.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-generic/mm_hooks.h')
-rw-r--r-- | include/asm-generic/mm_hooks.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/asm-generic/mm_hooks.h b/include/asm-generic/mm_hooks.h new file mode 100644 index 000000000000..67dea8123683 --- /dev/null +++ b/include/asm-generic/mm_hooks.h | |||
@@ -0,0 +1,18 @@ | |||
1 | /* | ||
2 | * Define generic no-op hooks for arch_dup_mmap and arch_exit_mmap, to | ||
3 | * be included in asm-FOO/mmu_context.h for any arch FOO which doesn't | ||
4 | * need to hook these. | ||
5 | */ | ||
6 | #ifndef _ASM_GENERIC_MM_HOOKS_H | ||
7 | #define _ASM_GENERIC_MM_HOOKS_H | ||
8 | |||
9 | static inline void arch_dup_mmap(struct mm_struct *oldmm, | ||
10 | struct mm_struct *mm) | ||
11 | { | ||
12 | } | ||
13 | |||
14 | static inline void arch_exit_mmap(struct mm_struct *mm) | ||
15 | { | ||
16 | } | ||
17 | |||
18 | #endif /* _ASM_GENERIC_MM_HOOKS_H */ | ||