aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorJustin TerAvest <teravest@google.com>2011-07-12 02:31:45 -0400
committerJens Axboe <jaxboe@fusionio.com>2011-07-12 02:35:10 -0400
commit4aede84b33d6beb401136a3deca0651ae07c5e99 (patch)
tree831266dbb15227584da5011ae4bb1e5038a69677 /include/linux
parenta07405b7802691d29ab3b23bdc76ee6d006aad0b (diff)
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 'include/linux')
-rw-r--r--include/linux/fs.h4
-rw-r--r--include/linux/init_task.h1
-rw-r--r--include/linux/sched.h1
3 files changed, 0 insertions, 6 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 6e73e2e9ae33..f6c866c287b5 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1453,10 +1453,6 @@ enum {
1453#define vfs_check_frozen(sb, level) \ 1453#define vfs_check_frozen(sb, level) \
1454 wait_event((sb)->s_wait_unfrozen, ((sb)->s_frozen < (level))) 1454 wait_event((sb)->s_wait_unfrozen, ((sb)->s_frozen < (level)))
1455 1455
1456#define get_fs_excl() atomic_inc(&current->fs_excl)
1457#define put_fs_excl() atomic_dec(&current->fs_excl)
1458#define has_fs_excl() atomic_read(&current->fs_excl)
1459
1460/* 1456/*
1461 * until VFS tracks user namespaces for inodes, just make all files 1457 * until VFS tracks user namespaces for inodes, just make all files
1462 * belong to init_user_ns 1458 * belong to init_user_ns
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index 580f70c02391..d14e058aaeed 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -176,7 +176,6 @@ extern struct cred init_cred;
176 .alloc_lock = __SPIN_LOCK_UNLOCKED(tsk.alloc_lock), \ 176 .alloc_lock = __SPIN_LOCK_UNLOCKED(tsk.alloc_lock), \
177 .journal_info = NULL, \ 177 .journal_info = NULL, \
178 .cpu_timers = INIT_CPU_TIMERS(tsk.cpu_timers), \ 178 .cpu_timers = INIT_CPU_TIMERS(tsk.cpu_timers), \
179 .fs_excl = ATOMIC_INIT(0), \
180 .pi_lock = __RAW_SPIN_LOCK_UNLOCKED(tsk.pi_lock), \ 179 .pi_lock = __RAW_SPIN_LOCK_UNLOCKED(tsk.pi_lock), \
181 .timer_slack_ns = 50000, /* 50 usec default slack */ \ 180 .timer_slack_ns = 50000, /* 50 usec default slack */ \
182 .pids = { \ 181 .pids = { \
diff --git a/include/linux/sched.h b/include/linux/sched.h
index a837b20ba190..22f54249cde1 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1503,7 +1503,6 @@ struct task_struct {
1503 short il_next; 1503 short il_next;
1504 short pref_node_fork; 1504 short pref_node_fork;
1505#endif 1505#endif
1506 atomic_t fs_excl; /* holding fs exclusive resources */
1507 struct rcu_head rcu; 1506 struct rcu_head rcu;
1508 1507
1509 /* 1508 /*