* [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.