diff mbox

virtio_blk: don't bounce highmem requests

Message ID 20090619182022.GA10999@lst.de (mailing list archive)
State New, archived
Headers show

Commit Message

Christoph Hellwig June 19, 2009, 6:20 p.m. UTC
By default a block driver bounces highmem requests, but virtio-blk is
perfectly fine with any request that fit into it's 64 bit addressing scheme,
mapped in the kernel virtual space or not.

Besides improving performance on highmem systems this also makes the
reproducible oops in __bounce_end_io go away (but hiding the real cause).

Signed-off-by: Christoph Hellwig <hch@lst.de>

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

Index: linux-2.6/drivers/block/virtio_blk.c
===================================================================
--- linux-2.6.orig/drivers/block/virtio_blk.c	2009-06-15 16:28:24.225815322 +0200
+++ linux-2.6/drivers/block/virtio_blk.c	2009-06-19 18:03:12.469805377 +0200
@@ -360,6 +360,9 @@  static int __devinit virtblk_probe(struc
 	blk_queue_max_phys_segments(vblk->disk->queue, vblk->sg_elems-2);
 	blk_queue_max_hw_segments(vblk->disk->queue, vblk->sg_elems-2);
 
+	/* No need to bounce any requests */
+	blk_queue_bounce_limit(brd->brd_queue, BLK_BOUNCE_ANY);
+
 	/* No real sector limit. */
 	blk_queue_max_sectors(vblk->disk->queue, -1U);