summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2008-07-25 01:47:41 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-25 10:53:39 -0700
commit32ecb1f26dd50eeaac4e3f4dea4541c97848e459 (patch)
tree4c2f3b6af9ff6babf2f395432de8e870508f2ec3 /include/linux
parent24d5288f06ed8b3a368eba967d587cdb012dfdf7 (diff)
coredump: turn mm->core_startup_done into the pointer to struct core_state
mm->core_startup_done points to "struct completion startup_done" allocated on the coredump_wait()'s stack. Introduce the new structure, core_state, which holds this "struct completion". This way we can add more info visible to the threads participating in coredump without enlarging mm_struct. No changes in affected .o files. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mm_types.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 02a27ae7853..97819efd233 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -159,6 +159,10 @@ struct vm_area_struct {
#endif
};
+struct core_state {
+ struct completion startup;
+};
+
struct mm_struct {
struct vm_area_struct * mmap; /* list of VMAs */
struct rb_root mm_rb;
@@ -220,7 +224,8 @@ struct mm_struct {
unsigned long flags; /* Must use atomic bitops to access the bits */
/* coredumping support */
- struct completion *core_startup_done, core_done;
+ struct core_state *core_state;
+ struct completion core_done;
/* aio bits */
rwlock_t ioctx_list_lock; /* aio lock */