public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Laurent Vivier <Laurent.Vivier-6ktuUTfB/bM@public.gmane.org>
To: Anthony Liguori <aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [ANNOUNCE] kvm-14 release
Date: Wed, 28 Feb 2007 15:12:22 +0100	[thread overview]
Message-ID: <45E58DC6.4050107@bull.net> (raw)
In-Reply-To: <45DDDD01.7030802-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 3921 bytes --]

Anthony Liguori wrote:
> Avi Kivity wrote:
>> Anthony Liguori wrote:
>>> Avi Kivity wrote:
>>>> Laurent Vivier wrote:
>>>>> There are remaining issues : libposix-aio uses kernel AIO, so files 
>>>>> must be
>>>>> opened using O_DIRECT and buffers must be aligned. libposix-aio is 
>>>>> able to
>>>>> manage other cases but this has a performance cost.
>>>>>
>>>>>   
>>>> Because the guest is also doing dma, the buffers are expected to be 
>>>> aligned (it might be different if using pio, but unlikely).
>>> The IDE emulation always uses a temporary buffer.  This is partially 
>>> because you cannot always rely on being able to use an offset on 
>>> phys_ram_base (when doing user only emulation).
>> Why is that?
> 
> Well, user won't do IDE emulation, but cpu_physical_memory_rw has to 
> jump through more hoops for IDE.
> 
> What's more relevant though, is it's possible for the guest to setup DMA 
> to device memory, in which case, you need to route the IO to callbacks.  
> That's pretty unlikely though so I think we can stream line it so that 
> we maintain correctness while also getting less copies.

I'm not sure I had understood correctly your explanation, but I tried to remove
buffer from IDE device. I made a (pseudo-)benchmark with "dd"

Applied patch is here:

http://www.bullopensource.org/posix/qemu/ide-directio.diff

(pseudo-)Benchmark is here:

kvm-14

dd if=/dev/hda of=/dev/null count=100000
51200000 bytes transferred in 4.735706 seconds (10811482 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 25.218732 seconds (20302369 bytes/sec)

kvm-14 + libposix-aio

dd if=/dev/hda of=/dev/null count=100000
51200000 bytes transferred in 3.335737 seconds (15348932 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 19.242217 seconds (26608161 bytes/sec)

kvm-14 + libposix-aio + ide-directio

dd if=/dev/hda of=/dev/null count=100000
51200000 bytes transferred in 2.695296 seconds (18996058 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 14.992513 seconds (34150379 bytes/sec)

qemu-0.9.0

dd if=/dev/hda of=/dev/null count=100000
1200000 bytes transferred in 2.694546 seconds (19001345 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 25.524641 seconds (20059048 bytes/sec)

qemu-0.9.0 + libposix-aio

dd if=/dev/hda of=/dev/null count=100000
51200000 bytes transferred in 2.859584 seconds (17904702 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 25.045071 seconds (20443144 bytes/sec)

qemu-0.9.0 + libposix-aio + ide-directio

dd if=/dev/hda of=/dev/null count=100000
51200000 bytes transferred in 2.897503 seconds (17670387 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 25.900654 seconds (19767841 bytes/sec)

qemu-0.9.0 + kqemu

dd if=/dev/hda of=/dev/null count=100000
51200000 bytes transferred in 6.204987 seconds (8251427 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 65.149972 seconds (7858791 bytes/sec)

qemu-0.9.0 + kqemu + libposix-aio

dd if=/dev/hda of=/dev/null count=100000
51200000 bytes transferred in 6.075537 seconds (8427239 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 57.506392 seconds (8903358 bytes/sec)

qemu-0.9.0 + kqemu + libposix-aio + ide-directio

dd if=/dev/hda of=/dev/null count=100000
51200000 bytes transferred in 6.083927 seconds (8415617 bytes/sec)
dd if=/dev/hda of=/dev/null count=1000000
512000000 bytes transferred in 57.602499 seconds (8888503 bytes/sec)

Regards,
Laurent
-- 
------------- Laurent.Vivier-6ktuUTfB/bM@public.gmane.org  --------------
       "Any sufficiently advanced technology is
  indistinguishable from magic." - Arthur C. Clarke


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 345 bytes --]

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

[-- Attachment #3: Type: text/plain, Size: 186 bytes --]

_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel

  parent reply	other threads:[~2007-02-28 14:12 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-19 11:01 [ANNOUNCE] kvm-14 release Avi Kivity
     [not found] ` <45D98390.6060001-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-19 13:16   ` Daniel P. Berrange
     [not found]     ` <20070219131633.GF31525-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-02-19 13:21       ` Avi Kivity
     [not found]         ` <45D9A464.8040406-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-19 15:37           ` James Morris
2007-02-19 15:42             ` Avi Kivity
     [not found]               ` <45D9C57D.9030203-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-03-05  8:52                 ` Avi Kivity
2007-02-20  1:06             ` Rusty Russell
     [not found]               ` <1171933567.8218.53.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-02-20  5:53                 ` James Morris
2007-02-19 14:37   ` Andreas Hasenack
     [not found]     ` <200702191237.39291.ahasenack-y7mWNqJcIDpfJ/NunPodnw@public.gmane.org>
2007-02-19 14:46       ` Avi Kivity
2007-02-19 15:24     ` Omar Khan
     [not found]       ` <loom.20070219T161915-755-eS7Uydv5nfjZ+VzJOa5vwg@public.gmane.org>
2007-02-19 15:26         ` Avi Kivity
2007-02-19 22:34   ` Aurelien Jarno
     [not found]     ` <45DA25D9.1060509-rXXEIb44qovR7s880joybQ@public.gmane.org>
2007-02-20  7:15       ` Avi Kivity
     [not found]         ` <45DA9FFA.2020009-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-20 22:24           ` Aurelien Jarno
     [not found]             ` <45DB7514.3040409-rXXEIb44qovR7s880joybQ@public.gmane.org>
2007-02-21  8:06               ` Avi Kivity
     [not found]                 ` <45DBFD6E.2060507-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-21 14:06                   ` Aurelien Jarno
     [not found]                     ` <45DC51E3.7010205-rXXEIb44qovR7s880joybQ@public.gmane.org>
2007-02-21 14:18                       ` Avi Kivity
     [not found]                         ` <45DC54B5.9080608-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-21 14:55                           ` Laurent Vivier
     [not found]                             ` <45DC5D4E.5000300-6ktuUTfB/bM@public.gmane.org>
2007-02-21 15:31                               ` Anthony Liguori
     [not found]                                 ` <45DC65C9.6010104-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-02-21 16:07                                   ` Laurent Vivier
2007-02-22 16:35                                   ` Laurent Vivier
     [not found]                                     ` <45DDC641.3030001-6ktuUTfB/bM@public.gmane.org>
2007-02-22 16:38                                       ` Avi Kivity
     [not found]                                         ` <45DDC6F3.8080104-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-22 17:25                                           ` Anthony Liguori
     [not found]                                             ` <45DDD21F.4080202-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-02-22 17:29                                               ` Avi Kivity
     [not found]                                                 ` <45DDD30D.4000809-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-22 18:12                                                   ` Anthony Liguori
     [not found]                                                     ` <45DDDD01.7030802-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-02-28 14:12                                                       ` Laurent Vivier [this message]
2007-02-26 15:43                                       ` Aurelien Jarno
     [not found]                                         ` <45E30037.90007-rXXEIb44qovR7s880joybQ@public.gmane.org>
2007-02-26 15:57                                           ` Laurent Vivier
     [not found]                                             ` <45E30354.3020407-6ktuUTfB/bM@public.gmane.org>
2007-02-26 16:23                                               ` Avi Kivity
     [not found]                                                 ` <45E3097C.7020606-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-26 16:46                                                   ` Laurent Vivier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45E58DC6.4050107@bull.net \
    --to=laurent.vivier-6ktuutfb/bm@public.gmane.org \
    --cc=aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox