From 4fa557296cbcfe89e02cbe167729827b0fb6bb3a Mon Sep 17 00:00:00 2001 From: Krzysztof Mazur Date: Thu, 16 Dec 2010 22:40:14 +0100 Subject: [PATCH 07/84] lsbd: use HIGH priority queue for RT tasks --- drivers/block/lsbd.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/block/lsbd.c b/drivers/block/lsbd.c index 29e3bde..8ae5f1b 100644 --- a/drivers/block/lsbd.c +++ b/drivers/block/lsbd.c @@ -905,6 +905,8 @@ static int lsbd_make_request(request_queue_t *q, int rw, } if (rw == WRITE) { + unsigned int queue = LSBD_QUEUE_NORMAL; + lsector = bh->b_rsector >> 3; lsector = lsbd_map_sector(p, partition, lsector); @@ -913,7 +915,10 @@ static int lsbd_make_request(request_queue_t *q, int rw, return 0; } - if (lsbd_queue_bh(p, bh, lsector, LSBD_QUEUE_NORMAL)) + if (current->rt_priority) + queue = LSBD_QUEUE_HIGH; + + if (lsbd_queue_bh(p, bh, lsector, queue)) buffer_IO_error(bh); return 0; } -- 1.8.4.652.g0d6e0ce