diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2006-06-26 03:25:48 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-26 12:58:24 -0400 |
commit | 48e6484d49020dba3578ad117b461e8a391e8f0f (patch) | |
tree | 7824ca84bfe71c3fe2c09a1fedc31106fec4f500 /include/linux/sched.h | |
parent | 662795deb854b31501e0ffb42b7f0cce802c134a (diff) |
[PATCH] proc: Rewrite the proc dentry flush on exit optimization
To keep the dcache from filling up with dead /proc entries we flush them on
process exit. However over the years that code has gotten hairy with a
dentry_pointer and a lock in task_struct and misdocumented as a correctness
feature.
I have rewritten this code to look and see if we have a corresponding entry in
the dcache and if so flush it on process exit. This removes the extra fields
in the task_struct and allows me to trivially handle the case of a
/proc/<tgid>/task/<pid> entry as well as the current /proc/<pid> entries.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 8d11d9310db0..122a25c1b997 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -842,8 +842,6 @@ struct task_struct { | |||
842 | u32 self_exec_id; | 842 | u32 self_exec_id; |
843 | /* Protection of (de-)allocation: mm, files, fs, tty, keyrings */ | 843 | /* Protection of (de-)allocation: mm, files, fs, tty, keyrings */ |
844 | spinlock_t alloc_lock; | 844 | spinlock_t alloc_lock; |
845 | /* Protection of proc_dentry: nesting proc_lock, dcache_lock, write_lock_irq(&tasklist_lock); */ | ||
846 | spinlock_t proc_lock; | ||
847 | 845 | ||
848 | #ifdef CONFIG_DEBUG_MUTEXES | 846 | #ifdef CONFIG_DEBUG_MUTEXES |
849 | /* mutex deadlock detection */ | 847 | /* mutex deadlock detection */ |
@@ -856,7 +854,6 @@ struct task_struct { | |||
856 | /* VM state */ | 854 | /* VM state */ |
857 | struct reclaim_state *reclaim_state; | 855 | struct reclaim_state *reclaim_state; |
858 | 856 | ||
859 | struct dentry *proc_dentry; | ||
860 | struct backing_dev_info *backing_dev_info; | 857 | struct backing_dev_info *backing_dev_info; |
861 | 858 | ||
862 | struct io_context *io_context; | 859 | struct io_context *io_context; |