Vasily Tarasov
d58cdfb89c
[PATCH] block layer: ioprio_best function fix
...
Currently ioprio_best function first checks wethere aioprio or bioprio equals
IOPRIO_CLASS_NONE (ioprio_valid() macros does that) and if it is so it returns
bioprio/aioprio appropriately. Thus the next four lines, that set aclass/bclass
to IOPRIO_CLASS_BE, if aclass/bclass == IOPRIO_CLASS_NONE, are never executed.
The second problem: if aioprio from class IOPRIO_CLASS_NONE and bioprio from
class IOPRIO_CLASS_IDLE are passed to ioprio_best function, it will return
IOPRIO_CLASS_IDLE. It means that during __make_request we can merge two
requests and set the priority of merged request to IDLE, while one of
the initial requests originates from a process with NONE (default) priority.
So we can get a situation when a process with default ioprio will experience
IO starvation, while there is no process from real-time class in the system.
Just removing ioprio_valid check should correct situation.
Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2006-10-12 15:09:51 +02:00
..
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:28 -07:00
2006-10-01 00:39:28 -07:00
2006-10-11 11:14:23 -07:00
2006-10-01 00:39:30 -07:00
2006-10-11 11:14:25 -07:00
2006-10-10 16:15:33 -07:00
2006-10-01 00:39:30 -07:00
2006-10-03 22:36:44 +02:00
2006-10-01 00:39:30 -07:00
2006-10-04 09:06:16 -07:00
2006-09-29 09:18:20 -07:00
2006-10-03 23:28:36 +02:00
2006-09-27 08:26:18 -07:00
2006-10-09 14:19:08 -07:00
2006-10-04 07:55:24 -07:00
2006-09-27 08:26:10 -07:00
2006-10-03 08:03:40 -07:00
2006-10-11 11:14:21 -07:00
2006-10-11 11:14:21 -07:00
2006-10-11 11:14:19 -07:00
2006-10-11 11:14:23 -07:00
2006-09-29 09:18:20 -07:00
2006-10-01 00:39:30 -07:00
2006-10-11 11:17:06 -07:00
2006-10-01 00:39:30 -07:00
2006-10-03 23:01:26 +02:00
2006-10-01 00:39:28 -07:00
2006-10-10 16:15:34 -07:00
2006-10-09 14:19:08 -07:00
2006-10-11 11:14:15 -07:00
2006-10-10 16:15:34 -07:00
2006-10-11 11:14:14 -07:00
2006-10-11 11:14:18 -07:00
2006-10-01 00:39:30 -07:00
2006-10-11 11:14:23 -07:00
2006-10-02 09:55:27 -05:00
2006-10-04 07:55:20 -07:00
2006-10-11 11:14:23 -07:00
2006-10-01 00:39:30 -07:00
2006-10-09 14:19:08 -07:00
2006-10-08 17:28:25 -07:00
2005-10-11 09:46:54 -07:00
2006-10-06 08:53:41 -07:00
2006-10-03 23:01:26 +02:00
2006-10-01 00:39:28 -07:00
2006-10-11 11:14:23 -07:00
2006-09-24 11:13:19 -04:00
2006-10-10 16:15:34 -07:00
2006-10-05 15:10:12 +01:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:30 -07:00
2006-10-11 11:14:25 -07:00
2006-09-27 08:26:10 -07:00
2006-10-01 00:39:28 -07:00
2006-10-03 08:04:19 -07:00
2006-10-11 11:14:23 -07:00
2006-10-05 16:18:55 -07:00
2006-10-10 16:15:34 -07:00
2006-10-01 00:39:30 -07:00
2006-10-03 23:37:55 +02:00
2006-10-03 08:04:19 -07:00
2006-01-11 18:42:13 -08:00
2006-10-01 00:39:28 -07:00
2006-09-29 09:18:08 -07:00
2006-09-29 09:18:14 -07:00
2006-10-01 00:39:33 -07:00
2005-04-16 15:20:36 -07:00
2006-06-30 19:25:36 +02:00
2006-09-29 09:18:12 -07:00
2005-04-16 15:20:36 -07:00
2006-10-04 06:51:26 -06:00
2006-10-11 11:14:25 -07:00
2006-10-01 00:39:28 -07:00
2006-10-11 11:14:23 -07:00
2006-09-30 20:52:18 +02:00
2006-10-11 11:14:22 -07:00
2006-10-10 15:37:20 -07:00
2006-10-11 11:14:25 -07:00
2006-06-30 19:25:36 +02:00
2006-07-03 15:27:06 -07:00
2006-10-02 07:57:14 -07:00
2006-09-29 09:18:14 -07:00
2006-01-08 20:12:40 -08:00
2006-10-11 11:14:21 -07:00
2006-10-02 07:57:21 -07:00
2006-10-02 07:57:15 -07:00
2006-04-11 13:53:33 +02:00
2006-10-02 07:57:14 -07:00
2006-09-29 09:18:25 -07:00
2006-09-29 09:18:20 -07:00
2006-09-30 20:52:26 +02:00
2006-09-29 09:18:24 -07:00
2006-10-10 15:37:23 -07:00
2006-07-31 13:28:41 -07:00
2006-06-20 05:25:19 -04:00
2006-09-30 20:52:32 +02:00
2006-06-30 19:25:36 +02:00
2006-10-12 15:09:51 +02:00
2006-10-11 11:14:16 -07:00
2006-01-08 20:13:36 -08:00
2006-10-01 00:39:30 -07:00
2006-10-02 07:57:14 -07:00
2006-10-11 11:14:16 -07:00
2006-09-29 09:18:07 -07:00
2006-09-30 20:52:26 +02:00
2006-10-01 00:39:30 -07:00
2006-10-02 07:57:20 -07:00
2006-06-30 19:25:36 +02:00
2006-09-30 20:52:31 +02:00
2006-10-01 00:39:30 -07:00
2006-10-01 00:39:33 -07:00
2006-06-26 09:58:17 -07:00
2005-11-07 18:18:11 -08:00
2006-10-01 00:39:19 -07:00
2005-04-16 15:20:36 -07:00
2006-03-23 07:38:11 -08:00
2006-09-30 20:52:31 +02:00
2006-10-01 00:39:29 -07:00
2006-10-01 00:39:28 -07:00
2006-10-03 08:03:40 -07:00
2006-09-29 09:18:23 -07:00
2006-03-23 07:38:12 -08:00
2006-10-12 15:08:51 +02:00
2006-10-03 08:03:40 -07:00
2006-10-11 11:14:25 -07:00
2006-09-30 20:31:19 +02:00
2006-10-01 00:39:19 -07:00
2005-04-16 15:20:36 -07:00
2006-10-09 14:20:38 -07:00