rpms/kernel/devel linux-2.6-virtio_blk-revert-QUEUE_FLAG_VIRT-addition.patch, NONE, 1.1 kernel.spec, 1.1782, 1.1783

Justin M. Forbes jforbes at fedoraproject.org
Wed Sep 9 17:16:12 UTC 2009


Author: jforbes

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22658

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-virtio_blk-revert-QUEUE_FLAG_VIRT-addition.patch 
Log Message:
Revert virio_blk to rotational mode. (#509383)

linux-2.6-virtio_blk-revert-QUEUE_FLAG_VIRT-addition.patch:
 virtio_blk.c |    1 -
 1 file changed, 1 deletion(-)

--- NEW FILE linux-2.6-virtio_blk-revert-QUEUE_FLAG_VIRT-addition.patch ---
Subject: [for-2.6.31] virtio_blk: revert QUEUE_FLAG_VIRT addition
Date: Fri, 04 Sep 2009 20:44:42 -0000
From: Christoph Hellwig <hch at lst.de>

It seems like the addition of QUEUE_FLAG_VIRT caueses major performance
regressions for Fedora users:

	https://bugzilla.redhat.com/show_bug.cgi?id=509383
	https://bugzilla.redhat.com/show_bug.cgi?id=505695

while I can't reproduce those extreme regressions myself I think the flag
is wrong.

Rationale:

  QUEUE_FLAG_VIRT expands to QUEUE_FLAG_NONROT which casus the queue
  unplugged immediately.  This is not a good behaviour for at least
  qemu and kvm where we do have significant overhead for every
  I/O operations.  Even with all the latested speeups (native AIO,
  MSI support, zero copy) we can only get native speed for up to 128kb
  I/O requests we already are down to 66% of native performance for 4kb
  requests even on my laptop running the Intel X25-M SSD for which the
  QUEUE_FLAG_NONROT was designed.
  If we ever get virtio-blk overhead low enough that this flag makes
  sense it should only be set based on a feature flag set by the host.
	
Signed-off-by: Christoph Hellwig <hch at lst.de>
Acked-by: Jeff Moyer <jmoyer at redhat.com>

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

Index: linux-2.6/drivers/block/virtio_blk.c
===================================================================
--- linux-2.6.orig/drivers/block/virtio_blk.c	2009-09-04 17:33:48.802523987 -0300
+++ linux-2.6/drivers/block/virtio_blk.c	2009-09-04 17:33:56.186522158 -0300
@@ -314,7 +314,6 @@ static int __devinit virtblk_probe(struc
 	}
 
 	vblk->disk->queue->queuedata = vblk;
-	queue_flag_set_unlocked(QUEUE_FLAG_VIRT, vblk->disk->queue);
 
 	if (index < 26) {
 		sprintf(vblk->disk->disk_name, "vd%c", 'a' + index % 26);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1782
retrieving revision 1.1783
diff -u -p -r1.1782 -r1.1783
--- kernel.spec	9 Sep 2009 09:42:58 -0000	1.1782
+++ kernel.spec	9 Sep 2009 17:16:11 -0000	1.1783
@@ -685,6 +685,7 @@ Patch1575: linux-2.6-kvm-vmx-check-cpl-b
 Patch1576: linux-2.6-use-__pa_symbol-to-calculate-address-of-C-symbol.patch
 Patch1577: linux-2.6-kvm-pvmmu-do-not-batch-pte-updates-from-interrupt-context.patch
 Patch1578: linux-2.6-xen-stack-protector-fix.patch
+Patch1579: linux-2.6-virtio_blk-revert-QUEUE_FLAG_VIRT-addition.patch
 
 # nouveau + drm fixes
 Patch1812: drm-next.patch
@@ -1315,6 +1316,7 @@ ApplyPatch linux-2.6-kvm-vmx-check-cpl-b
 ApplyPatch linux-2.6-use-__pa_symbol-to-calculate-address-of-C-symbol.patch
 ApplyPatch linux-2.6-kvm-pvmmu-do-not-batch-pte-updates-from-interrupt-context.patch
 ApplyPatch linux-2.6-xen-stack-protector-fix.patch
+ApplyPatch linux-2.6-virtio_blk-revert-QUEUE_FLAG_VIRT-addition.patch
 
 # Fix block I/O errors in KVM
 ApplyPatch linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch
@@ -2025,6 +2027,9 @@ fi
 # and build.
 
 %changelog
+* Wed Sep 09 2009 Justin M. Forbes <jforbes at redhat.com>
+- Revert virio_blk to rotational mode. (#509383)
+
 * Wed Sep 09 2009 Dave Airlie <airlied at redhat.com> 2.6.31-0.219.rc9.git
 - uggh lost nouveau bits in page flip
 




More information about the fedora-extras-commits mailing list