All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dor Laor" <dor.laor-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: <richardvoigt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: paravirtualization & cr3-cache feature
Date: Tue, 20 Feb 2007 01:48:08 -0800	[thread overview]
Message-ID: <64F9B87B6B770947A9F8391472E032160A818817@ehost011-8.exch011.intermedia.net> (raw)
In-Reply-To: <2e59e6970702181156l3591b801l1d6b5bccf177717c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

>> >Why so many vm switches?  First up, a typical I/O system maxes at
>> >about 1Gb/s, right?  That would be a gigabit NIC, or striped RAID,
or
>> >something like that.  This suggests an average of only about 300
>> >bytes/transfer, to get >150k individual transfers per second?  I
>> >thought block I/O usually dealt with 1kbyte or more.  Next, we're
>> >living in a world where most CPUs supporting the required extended
>> >instruction set are multi-core, and you specifically said core duo.
>> >Shouldn't an extensive I/O workload  tend toward one CPU in each VM,
>> >with contraposed producer-consumer queues, and almost zero context
>> >switches?
>>
>> First 150k-200k vm switches is the maximum number we can reach for a
>> single core. The exits are not necessarily related to IO, for
instance
>> before the new MMU code page fault exits were performance bottle neck
>> which major part of it was the vm switches.
>>
>> Second, we currently use Qemu's device emulation were the ne2k device
>> does dozens of IO accesses per packet! The rtl8139 is better and does
>> about 3 IO(MMIO) per packet. The current maximum throughput using the
>> rtl8139 is ~30Mbps. Very soon we'll have PV drivers that will boost
>> performance and use the P/C queues you were talking about. PV drivers
>> will boost performance beyond 1G/bps.
>
>Thanks for the explanation.  Two things had thrown me off: first the
>phrase "extensive I/O" made me think of disk I/O with rather large
>blocks, not a bunch of smallish network packets.  And I'd forgotten
>that we're dealing with full virt, so you can't pipeline requests,
>since the driver expects synchronous memory access.  Is it possible
>for any of qemu's hardware emulation code to run without a VMEXIT,
>more or less like a software interrupt within the VM?  Or is VMEXIT
>already the equivalent of a software interrupt or interrupt from
>request for privileged instruction from ring 3, as applied to virtual
>machine instead of ring 3 user mode?

I didn't completely understand, do you mean that the guest would send
the software interrupts for cheaper VM exit?
If that's the case, I find it impossible for fully virtualized devices
since these devices use I/O or MMIO for connectivity with software.

We currently add PV drivers (even to fully virtualized guests) and we
will queue/coalesce packet together.


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

      parent reply	other threads:[~2007-02-20  9:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-09 22:50 paravirtualization & cr3-cache feature Omar Khan
     [not found] ` <loom.20070209T234642-102-eS7Uydv5nfjZ+VzJOa5vwg@public.gmane.org>
2007-02-10 22:22   ` Dor Laor
2007-02-12 12:56     ` Omar Khan
     [not found]     ` <64F9B87B6B770947A9F8391472E032160A66BE0A-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-02-12 13:06       ` Joerg Roedel
     [not found]         ` <20070212130644.GF25460-5C7GfCeVMHo@public.gmane.org>
2007-02-12 13:21           ` Dor Laor
     [not found]             ` <64F9B87B6B770947A9F8391472E032160A66C0A6-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-02-12 14:03               ` Daniel Veillard
     [not found]                 ` <20070212140359.GE1879-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-02-12 14:23                   ` Dor Laor
     [not found]                     ` <64F9B87B6B770947A9F8391472E032160A66C0CF-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-02-12 14:42                       ` Gregory Haskins
2007-02-13  4:52                   ` richardvoigt-Re5JQEeQqe8AvxtiuMwx3w
     [not found]                     ` <2e59e6970702122052x69a4ea9asafd2d0ef438f55ce-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-02-13  7:47                       ` Dor Laor
     [not found]                         ` <64F9B87B6B770947A9F8391472E032160A66C679-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-02-13  7:50                           ` Arjan van de Ven
     [not found]                             ` <1171353019.12771.37.camel-NIQFrBLA1CpScpXdPBN83iCwEArCW2h5@public.gmane.org>
2007-02-13  7:57                               ` Dor Laor
     [not found]                                 ` <64F9B87B6B770947A9F8391472E032160A66C681-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-02-13  8:02                                   ` Arjan van de Ven
2007-02-18 19:56                           ` richardvoigt-Re5JQEeQqe8AvxtiuMwx3w
     [not found]                             ` <2e59e6970702181156l3591b801l1d6b5bccf177717c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-02-20  9:48                               ` Dor Laor [this message]

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=64F9B87B6B770947A9F8391472E032160A818817@ehost011-8.exch011.intermedia.net \
    --to=dor.laor-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=richardvoigt-Re5JQEeQqe8AvxtiuMwx3w@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 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.