All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL] lguest & virtio
@ 2009-09-23 13:05 Rusty Russell
  2009-09-26 15:01 ` Christoph Hellwig
  0 siblings, 1 reply; 5+ messages in thread
From: Rusty Russell @ 2009-09-23 13:05 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Christoph Hellwig, Fernando Luis Vazquez Cao,
	Xiao Guangrong

The following changes since commit ebc79c4f8da0f92efa968e0328f32334a2ce80cf:
  Linus Torvalds (1):
        Merge git://git.kernel.org/.../jaswinder/linux-2.6

are available in the git repository at:

  ssh://master.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus.git master

Christoph Hellwig (1):
      virtio_blk: add support for cache flush

Fernando Luis Vazquez Cao (2):
      virtio: get rid of redundant VIRTIO_ID_9P definition
      virtio: add virtio IDs file

Rusty Russell (6):
      virtio_pci: minor MSI-X cleanups
      virtio: make add_buf return capacity remaining
      lguest: move panic notifier registration to its expected place.
      lguest: use set_pte/set_pmd uniformly for real page table entries
      lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET
      lguest: don't force VIRTIO_F_NOTIFY_ON_EMPTY

Xiao Guangrong (1):
      lguest: cleanup for map_switcher()

 Documentation/lguest/lguest.c       |   26 ++++++-
 arch/x86/lguest/boot.c              |   10 +--
 drivers/block/virtio_blk.c          |   33 ++++++++--
 drivers/char/hw_random/virtio-rng.c |    3 +-
 drivers/char/virtio_console.c       |    5 +-
 drivers/lguest/core.c               |    5 +-
 drivers/lguest/page_tables.c        |   45 +++++-------
 drivers/net/virtio_net.c            |   15 ++--
 drivers/virtio/virtio_balloon.c     |    3 +-
 drivers/virtio/virtio_pci.c         |  125 +++++++++++++++++++---------------
 drivers/virtio/virtio_ring.c        |    6 ++-
 include/linux/virtio.h              |    2 +-
 include/linux/virtio_9p.h           |    2 -
 include/linux/virtio_balloon.h      |    3 -
 include/linux/virtio_blk.h          |   18 ++++-
 include/linux/virtio_console.h      |    3 -
 include/linux/virtio_ids.h          |   17 +++++
 include/linux/virtio_net.h          |    3 -
 include/linux/virtio_rng.h          |    3 -
 net/9p/trans_virtio.c               |    5 +-
 20 files changed, 199 insertions(+), 133 deletions(-)
 create mode 100644 include/linux/virtio_ids.h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PULL] lguest & virtio
  2009-09-23 13:05 [PULL] lguest & virtio Rusty Russell
@ 2009-09-26 15:01 ` Christoph Hellwig
  2009-09-28  2:50   ` Rusty Russell
  0 siblings, 1 reply; 5+ messages in thread
From: Christoph Hellwig @ 2009-09-26 15:01 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Linus Torvalds, linux-kernel, Christoph Hellwig,
	Fernando Luis Vazquez Cao, Xiao Guangrong

What happend to the patch to drop the virt/non-rotational flag?

On Wed, Sep 23, 2009 at 10:35:14PM +0930, Rusty Russell wrote:
> The following changes since commit ebc79c4f8da0f92efa968e0328f32334a2ce80cf:
>   Linus Torvalds (1):
>         Merge git://git.kernel.org/.../jaswinder/linux-2.6
> 
> are available in the git repository at:
> 
>   ssh://master.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus.git master
> 
> Christoph Hellwig (1):
>       virtio_blk: add support for cache flush
> 
> Fernando Luis Vazquez Cao (2):
>       virtio: get rid of redundant VIRTIO_ID_9P definition
>       virtio: add virtio IDs file
> 
> Rusty Russell (6):
>       virtio_pci: minor MSI-X cleanups
>       virtio: make add_buf return capacity remaining
>       lguest: move panic notifier registration to its expected place.
>       lguest: use set_pte/set_pmd uniformly for real page table entries
>       lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET
>       lguest: don't force VIRTIO_F_NOTIFY_ON_EMPTY
> 
> Xiao Guangrong (1):
>       lguest: cleanup for map_switcher()
> 
>  Documentation/lguest/lguest.c       |   26 ++++++-
>  arch/x86/lguest/boot.c              |   10 +--
>  drivers/block/virtio_blk.c          |   33 ++++++++--
>  drivers/char/hw_random/virtio-rng.c |    3 +-
>  drivers/char/virtio_console.c       |    5 +-
>  drivers/lguest/core.c               |    5 +-
>  drivers/lguest/page_tables.c        |   45 +++++-------
>  drivers/net/virtio_net.c            |   15 ++--
>  drivers/virtio/virtio_balloon.c     |    3 +-
>  drivers/virtio/virtio_pci.c         |  125 +++++++++++++++++++---------------
>  drivers/virtio/virtio_ring.c        |    6 ++-
>  include/linux/virtio.h              |    2 +-
>  include/linux/virtio_9p.h           |    2 -
>  include/linux/virtio_balloon.h      |    3 -
>  include/linux/virtio_blk.h          |   18 ++++-
>  include/linux/virtio_console.h      |    3 -
>  include/linux/virtio_ids.h          |   17 +++++
>  include/linux/virtio_net.h          |    3 -
>  include/linux/virtio_rng.h          |    3 -
>  net/9p/trans_virtio.c               |    5 +-
>  20 files changed, 199 insertions(+), 133 deletions(-)
>  create mode 100644 include/linux/virtio_ids.h
---end quoted text---

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PULL] lguest & virtio
  2009-09-26 15:01 ` Christoph Hellwig
@ 2009-09-28  2:50   ` Rusty Russell
  2009-09-28  3:36     ` [PATCH] virtio_blk: revert QUEUE_FLAG_VIRT addition Rusty Russell
  2009-09-28  3:36     ` Rusty Russell
  0 siblings, 2 replies; 5+ messages in thread
From: Rusty Russell @ 2009-09-28  2:50 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Linus Torvalds, linux-kernel, Fernando Luis Vazquez Cao, Xiao Guangrong

On Sun, 27 Sep 2009 12:31:24 am Christoph Hellwig wrote:
> What happend to the patch to drop the virt/non-rotational flag?

I pushed it back; I realize now you still wanted that one, it was
"Subject: virtio_blk: set QUEUE_ORDERED_DRAIN by default" you wanted to
reconsider.

Will send separately now...
Rusty.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] virtio_blk: revert QUEUE_FLAG_VIRT addition
  2009-09-28  2:50   ` Rusty Russell
  2009-09-28  3:36     ` [PATCH] virtio_blk: revert QUEUE_FLAG_VIRT addition Rusty Russell
@ 2009-09-28  3:36     ` Rusty Russell
  1 sibling, 0 replies; 5+ messages in thread
From: Rusty Russell @ 2009-09-28  3:36 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Christoph Hellwig, linux-kernel, virtualization, Jens Axboe

From: Christoph Hellwig <hch@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@lst.de>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 drivers/block/virtio_blk.c |    1 -
 1 file changed, 1 deletion(-)

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] virtio_blk: revert QUEUE_FLAG_VIRT addition
  2009-09-28  2:50   ` Rusty Russell
@ 2009-09-28  3:36     ` Rusty Russell
  2009-09-28  3:36     ` Rusty Russell
  1 sibling, 0 replies; 5+ messages in thread
From: Rusty Russell @ 2009-09-28  3:36 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Jens Axboe, virtualization, Christoph Hellwig, linux-kernel

From: Christoph Hellwig <hch@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@lst.de>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 drivers/block/virtio_blk.c |    1 -
 1 file changed, 1 deletion(-)

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-09-28  4:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-23 13:05 [PULL] lguest & virtio Rusty Russell
2009-09-26 15:01 ` Christoph Hellwig
2009-09-28  2:50   ` Rusty Russell
2009-09-28  3:36     ` [PATCH] virtio_blk: revert QUEUE_FLAG_VIRT addition Rusty Russell
2009-09-28  3:36     ` Rusty Russell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.