rpms/kernel/F-10 linux-2.6-virtio-blk-dont-bounce-highmem-requests.patch, NONE, 1.1.2.1 kernel.spec, 1.1206.2.73, 1.1206.2.74

Chuck Ebbert cebbert at fedoraproject.org
Wed Jul 29 16:35:48 UTC 2009


Author: cebbert

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

Modified Files:
      Tag: private-fedora-10-2_6_27
	kernel.spec 
Added Files:
      Tag: private-fedora-10-2_6_27
	linux-2.6-virtio-blk-dont-bounce-highmem-requests.patch 
Log Message:
Don't bounce virtio_blk requests (#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)
 	if (!err)
 		blk_queue_max_hw_segments(vblk->disk->queue, v);
 
+	/* No need to bounce any requests */
+	blk_queue_bounce_limit(vblk->disk->queue, BLK_BOUNCE_ANY);
+
 	/* Host can optionally specify the block size of the device */
 	err = virtio_config_val(vdev, VIRTIO_BLK_F_BLK_SIZE,
 				offsetof(struct virtio_blk_config, blk_size),


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1206.2.73
retrieving revision 1.1206.2.74
diff -u -p -r1.1206.2.73 -r1.1206.2.74
--- kernel.spec	27 Jul 2009 21:32:16 -0000	1.1206.2.73
+++ kernel.spec	29 Jul 2009 16:35:47 -0000	1.1206.2.74
@@ -778,6 +778,8 @@ Patch4010: kvm-make-efer-reads-safe-when
 Patch11000: linux-2.6-parport-quickfix-the-proc-registration-bug.patch
 Patch11010: linux-2.6-dev-zero-avoid-oom-lockup.patch
 
+Patch12000: linux-2.6-virtio-blk-dont-bounce-highmem-requests.patch
+
 %endif
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1409,6 +1411,10 @@ ApplyPatch kvm-make-efer-reads-safe-when
 ApplyPatch linux-2.6-parport-quickfix-the-proc-registration-bug.patch
 
 ApplyPatch linux-2.6-dev-zero-avoid-oom-lockup.patch
+
+# fix oops with virtio block driver requests (#510304)
+ApplyPatch linux-2.6-virtio-blk-dont-bounce-highmem-requests.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -1984,6 +1990,9 @@ fi
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Wed Jul 29 2009  Chuck Ebbert <cebbert at redhat.com>  2.6.27.28-170.2.74
+- Don't bounce virtio_blk requests (#510304)
+
 * Mon Jul 27 2009  Chuck Ebbert <cebbert at redhat.com>  2.6.27.28-170.2.73
 - Linux 2.6.27.28
   Dropped patches, merged in stable:




More information about the fedora-extras-commits mailing list