[lkml]   [2009]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: [PATCH] virtio_blk: don't bounce highmem requests
Looks like I sent a patch that doesn't actually compile because qui
decided to apply those fixes to a different one. Here's the correc


Subject: virtio_blk: don't bounce highmem requests
From: Christoph Hellwig <>

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 <>

Index: linux-2.6/drivers/block/virtio_blk.c
--- linux-2.6.orig/drivers/block/virtio_blk.c 2009-06-20 20:11:44.769929544 +0200
+++ linux-2.6/drivers/block/virtio_blk.c 2009-06-20 20:20:29.661804686 +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(vblk->disk->queue, BLK_BOUNCE_ANY);
/* No real sector limit. */
blk_queue_max_sectors(vblk->disk->queue, -1U);

 \ /
  Last update: 2009-06-20 20:35    [W:0.079 / U:6.568 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site