summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorJustin TerAvest <teravest@google.com>2011-07-12 08:31:45 +0200
committerJens Axboe <jaxboe@fusionio.com>2011-07-12 08:35:10 +0200
commit4aede84b33d6beb401136a3deca0651ae07c5e99 (patch)
tree831266dbb15227584da5011ae4bb1e5038a69677 /kernel
parenta07405b7802691d29ab3b23bdc76ee6d006aad0b (diff)
downloadlinux-stable-4aede84b33d6beb401136a3deca0651ae07c5e99.tar.gz
linux-stable-4aede84b33d6beb401136a3deca0651ae07c5e99.tar.bz2
linux-stable-4aede84b33d6beb401136a3deca0651ae07c5e99.zip
fixlet: Remove fs_excl from struct task.
fs_excl is a poor man's priority inheritance for filesystems to hint to the block layer that an operation is important. It was never clearly specified, not widely adopted, and will not prevent starvation in many cases (like across cgroups). fs_excl was introduced with the time sliced CFQ IO scheduler, to indicate when a process held FS exclusive resources and thus needed a boost. It doesn't cover all file systems, and it was never fully complete. Lets kill it. Signed-off-by: Justin TerAvest <teravest@google.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/exit.c1
-rw-r--r--kernel/fork.c1
2 files changed, 0 insertions, 2 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index f2b321bae440..b412df45ea6c 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -906,7 +906,6 @@ NORET_TYPE void do_exit(long code)
profile_task_exit(tsk);
- WARN_ON(atomic_read(&tsk->fs_excl));
WARN_ON(blk_needs_flush_plug(tsk));
if (unlikely(in_interrupt()))
diff --git a/kernel/fork.c b/kernel/fork.c
index 0276c30401a0..30a0e8607223 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -291,7 +291,6 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
/* One for us, one for whoever does the "release_task()" (usually parent) */
atomic_set(&tsk->usage,2);
- atomic_set(&tsk->fs_excl, 0);
#ifdef CONFIG_BLK_DEV_IO_TRACE
tsk->btrace_seq = 0;
#endif