rpms/kernel/F-11 linux-2.6-virtio_blk-dont-bounce-highmem-requests.patch, NONE, 1.1 kernel.spec, 1.1677, 1.1678

Jarod Wilson jwilson at fedoraproject.org
Thu Jul 23 15:06:39 UTC 2009


Author: jwilson

Update of /cvs/pkgs/rpms/kernel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30169

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-virtio_blk-dont-bounce-highmem-requests.patch 
Log Message:
* Thu Jul 23 2009 Jarod Wilson <jarod at redhat.com>
- virtio_blk: don't bounce highmem requests, works around a frequent
  oops in kvm guests using virtio block devices (#510304)


linux-2.6-virtio_blk-dont-bounce-highmem-requests.patch:
 virtio_blk.c |    3 +++
 1 file changed, 3 insertions(+)

--- NEW FILE linux-2.6-virtio_blk-dont-bounce-highmem-requests.patch ---
From: Christoph Hellwig <hch at lst.de>
Date: Sat, 18 Jul 2009 03:47:45 +0000 (-0600)
Subject: virtio_blk: don't bounce highmem requests
X-Git-Tag: v2.6.31-rc4~33^2~3
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=4eff3cae9c9809720c636e64bc72f212258e0bd5

virtio_blk: don't bounce highmem requests

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 at lst.de>
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
---

diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 43db3ea..4c47859 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -360,6 +360,9 @@ static int __devinit virtblk_probe(struct virtio_device *vdev)
 	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);
 


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1677
retrieving revision 1.1678
diff -u -p -r1.1677 -r1.1678
--- kernel.spec	22 Jul 2009 20:25:49 -0000	1.1677
+++ kernel.spec	23 Jul 2009 15:06:37 -0000	1.1678
@@ -787,6 +787,7 @@ Patch9303: linux-2.6-kvm-skip-pit-check.
 Patch9304: linux-2.6-xen-check-for-nx-support.patch
 Patch9305: linux-2.6-xen-fix_warning_when_deleting_gendisk.patch
 Patch9307: linux-2.6.29-xen-disable-gbpages.patch
+Patch9308: linux-2.6-virtio_blk-dont-bounce-highmem-requests.patch
 
 Patch11000: linux-2.6-parport-quickfix-the-proc-registration-bug.patch
 Patch11010: linux-2.6-dev-zero-avoid-oom-lockup.patch
@@ -1493,6 +1494,8 @@ ApplyPatch linux-2.6-kvm-skip-pit-check.
 ApplyPatch linux-2.6-xen-check-for-nx-support.patch
 ApplyPatch linux-2.6-xen-fix_warning_when_deleting_gendisk.patch
 ApplyPatch linux-2.6.29-xen-disable-gbpages.patch
+# http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4eff3cae9c9809720c636e64bc72f212258e0bd5 (#510304)
+ApplyPatch linux-2.6-virtio_blk-dont-bounce-highmem-requests.patch
 # finally fix the proc registration bug (F11#503773 and others)
 ApplyPatch linux-2.6-parport-quickfix-the-proc-registration-bug.patch
 #
@@ -2099,6 +2102,10 @@ fi
 # and build.
 
 %changelog
+* Thu Jul 23 2009 Jarod Wilson <jarod at redhat.com>
+- virtio_blk: don't bounce highmem requests, works around a frequent
+  oops in kvm guests using virtio block devices (#510304)
+
 * Wed Jul 22 2009 Tom "spot" Callaway <tcallawa at redhat.com>
 - We have to override the new %%install behavior because, well... the kernel is
 special.




More information about the fedora-extras-commits mailing list