aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ioprio.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2006-08-21 04:02:50 -0400
committerJens Axboe <axboe@suse.de>2006-08-21 04:02:50 -0400
commite014ff8d4285b81f0de0719d8eee72bc50bfd4be (patch)
tree5d60afed23d2f4ced4ccce961415cdfe15295a21 /fs/ioprio.c
parent9f83e45eb54fc7198dc59fc63255341851ba4c48 (diff)
[PATCH] uninline ioprio_best()
Saves 376 bytes (5 callers) for me. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'fs/ioprio.c')
-rw-r--r--fs/ioprio.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/fs/ioprio.c b/fs/ioprio.c
index 06578311c63f..78b1deae3fa2 100644
--- a/fs/ioprio.c
+++ b/fs/ioprio.c
@@ -140,6 +140,29 @@ out:
140 return ret; 140 return ret;
141} 141}
142 142
143int ioprio_best(unsigned short aprio, unsigned short bprio)
144{
145 unsigned short aclass = IOPRIO_PRIO_CLASS(aprio);
146 unsigned short bclass = IOPRIO_PRIO_CLASS(bprio);
147
148 if (!ioprio_valid(aprio))
149 return bprio;
150 if (!ioprio_valid(bprio))
151 return aprio;
152
153 if (aclass == IOPRIO_CLASS_NONE)
154 aclass = IOPRIO_CLASS_BE;
155 if (bclass == IOPRIO_CLASS_NONE)
156 bclass = IOPRIO_CLASS_BE;
157
158 if (aclass == bclass)
159 return min(aprio, bprio);
160 if (aclass > bclass)
161 return bprio;
162 else
163 return aprio;
164}
165
143asmlinkage long sys_ioprio_get(int which, int who) 166asmlinkage long sys_ioprio_get(int which, int who)
144{ 167{
145 struct task_struct *g, *p; 168 struct task_struct *g, *p;