Messages in this thread Patch in this message | | | Date | Thu, 7 Aug 2003 01:28:10 +0200 | From | Pavel Machek <> | Subject | Disk priority dependend on nice level... |
| |
Hi!
I ported `subj` to 2.6.0-test2. I do not yet have idea if it works, but it compiles ;-). Pavel
--- clean/drivers/block/deadline-iosched.c 2003-07-27 22:31:10.000000000 +0200 +++ linux/drivers/block/deadline-iosched.c 2003-08-07 01:26:47.000000000 +0200 @@ -17,6 +17,7 @@ #include <linux/compiler.h> #include <linux/hash.h> #include <linux/rbtree.h> +#include <linux/sched.h> /* * See Documentation/deadline-iosched.txt @@ -106,6 +107,19 @@ #define RQ_DATA(rq) ((struct deadline_rq *) (rq)->elevator_private) /* + * scale_deadline + */ +static int scale_deadline(int default_deadline) +{ + int prio = current->static_prio - MAX_RT_PRIO; + /* make priorities higher than nice -10 equal to nice -10 */ + if (prio < 10) + prio = 10; + /* scale the deadline according to priority */ + return default_deadline * prio/20; +} + +/* * the back merge hash support functions */ static inline void __deadline_del_drq_hash(struct deadline_rq *drq) @@ -303,7 +317,7 @@ /* * set expire time (only used for reads) and add to fifo list */ - drq->expires = jiffies + dd->fifo_expire[data_dir]; + drq->expires = jiffies + scale_deadline(dd->fifo_expire[data_dir]); list_add_tail(&drq->fifo, &dd->fifo_list[data_dir]); } -- When do you have a heart between your knees? [Johanka's followup: and *two* hearts?] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |