aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>2008-10-27 05:45:54 -0400
committerJens Axboe <jens.axboe@oracle.com>2008-12-29 02:28:41 -0500
commit66d352e1e410dcea22fecb9fa9ec09dd23a62e1c (patch)
tree70e8ba82d30b0e7d60481e8091fecbfb222b3977
parent7d116b626b843c66b17630a62d696e044d049bfc (diff)
xen-blkfront: set queue paravirt flag
Xen's blkfront sets noop as the default I/O scheduler at initialization time to avoid elevator overheads such as idling, but with the advent of basic disk profiling capabilities this is not necessary anymore. We should just tell the block layer that we are a paravirt front-end driver and the elevator will automatically make the necessary adjustments. Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--drivers/block/xen-blkfront.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 2d19f0cc47f2..918ef725de41 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -338,18 +338,12 @@ wait:
338static int xlvbd_init_blk_queue(struct gendisk *gd, u16 sector_size) 338static int xlvbd_init_blk_queue(struct gendisk *gd, u16 sector_size)
339{ 339{
340 struct request_queue *rq; 340 struct request_queue *rq;
341 elevator_t *old_e;
342 341
343 rq = blk_init_queue(do_blkif_request, &blkif_io_lock); 342 rq = blk_init_queue(do_blkif_request, &blkif_io_lock);
344 if (rq == NULL) 343 if (rq == NULL)
345 return -1; 344 return -1;
346 345
347 old_e = rq->elevator; 346 queue_flag_set_unlocked(QUEUE_FLAG_VIRT, rq);
348 if (IS_ERR_VALUE(elevator_init(rq, "noop")))
349 printk(KERN_WARNING
350 "blkfront: Switch elevator failed, use default\n");
351 else
352 elevator_exit(old_e);
353 347
354 /* Hard sector size and max sectors impersonate the equiv. hardware. */ 348 /* Hard sector size and max sectors impersonate the equiv. hardware. */
355 blk_queue_hardsect_size(rq, sector_size); 349 blk_queue_hardsect_size(rq, sector_size);