diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2009-04-03 10:43:35 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-07 07:36:13 -0400 |
commit | e2b371f00a6f529f6362654239bdec8dcd510760 (patch) | |
tree | 36e47cd9fb949fd72893c2d5ddab489fa55b1869 /include/linux/mm.h | |
parent | a26b89f05d194413c7238e0bea071054f6b5d3c8 (diff) |
mm, x86, ptrace, bts: defer branch trace stopping
When a ptraced task is unlinked, we need to stop branch tracing for
that task.
Since the unlink is called with interrupts disabled, and we need
interrupts enabled to stop branch tracing, we defer the work.
Collect all branch tracing related stuff in a branch tracing context.
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: roland@redhat.com
Cc: eranian@googlemail.com
Cc: juan.villacis@intel.com
Cc: ak@linux.jf.intel.com
LKML-Reference: <20090403144550.712401000@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r-- | include/linux/mm.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index bff1f0d475c7..64d8ed2538ae 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/prio_tree.h> | 13 | #include <linux/prio_tree.h> |
14 | #include <linux/debug_locks.h> | 14 | #include <linux/debug_locks.h> |
15 | #include <linux/mm_types.h> | 15 | #include <linux/mm_types.h> |
16 | #include <linux/sched.h> | ||
16 | 17 | ||
17 | struct mempolicy; | 18 | struct mempolicy; |
18 | struct anon_vma; | 19 | struct anon_vma; |
@@ -1321,6 +1322,6 @@ void vmemmap_populate_print_last(void); | |||
1321 | 1322 | ||
1322 | extern void *alloc_locked_buffer(size_t size); | 1323 | extern void *alloc_locked_buffer(size_t size); |
1323 | extern void free_locked_buffer(void *buffer, size_t size); | 1324 | extern void free_locked_buffer(void *buffer, size_t size); |
1324 | extern void release_locked_buffer(void *buffer, size_t size); | 1325 | extern void refund_locked_buffer_memory(struct mm_struct *mm, size_t size); |
1325 | #endif /* __KERNEL__ */ | 1326 | #endif /* __KERNEL__ */ |
1326 | #endif /* _LINUX_MM_H */ | 1327 | #endif /* _LINUX_MM_H */ |