All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@qumranet.com>
To: Zachary Amsden <zach@vmware.com>
Cc: Andrew Morton <akpm@osdl.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Virtualization Mailing List <virtualization@lists.osdl.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Chris Wright <chrisw@sous-sol.org>,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: Re: [PATCH] Add I/O hypercalls for i386 paravirt
Date: Wed, 22 Aug 2007 08:34:23 +0300	[thread overview]
Message-ID: <46CBCADF.2070400@qumranet.com> (raw)
In-Reply-To: <46CBC842.4070100@vmware.com>

Zachary Amsden wrote:
> In general, I/O in a virtual guest is subject to performance
> problems.  The I/O can not be completed physically, but must be
> virtualized.  This means trapping and decoding port I/O instructions
> from the guest OS.  Not only is the trap for a #GP heavyweight, both
> in the processor and the hypervisor (which usually has a complex #GP
> path), but this forces the hypervisor to decode the individual
> instruction which has faulted.  Worse, even with hardware assist such
> as VT, the exit reason alone is not sufficient to determine the true
> nature of the faulting instruction, requiring a complex and costly
> instruction decode and simulation.
>
> This patch provides hypercalls for the i386 port I/O instructions,
> which vastly helps guests which use native-style drivers.  For certain
> VMI workloads, this provides a performance boost of up to 30%.  We
> expect KVM and lguest to be able to achieve similar gains on I/O
> intensive workloads.
>


Won't these workloads be better off using paravirtualized drivers? 
i.e., do the native drivers with paravirt I/O instructions get anywhere
near the performance of paravirt drivers?


-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

  reply	other threads:[~2007-08-22  5:34 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-22  5:23 [PATCH] Add I/O hypercalls for i386 paravirt Zachary Amsden
2007-08-22  5:23 ` Zachary Amsden
2007-08-22  5:34 ` Avi Kivity [this message]
2007-08-22  5:40   ` Zachary Amsden
2007-08-22  8:37     ` Avi Kivity
2007-08-22 16:16       ` Zachary Amsden
2007-08-22  6:25   ` Rusty Russell
2007-08-22 10:35     ` Andi Kleen
2007-08-22  9:51       ` Avi Kivity
2007-08-22 11:08         ` Andi Kleen
2007-08-22 10:23           ` Avi Kivity
2007-08-22 11:23             ` Andi Kleen
2007-08-22 12:09               ` Avi Kivity
2007-08-22 13:15                 ` Andi Kleen
2007-08-22 12:32                   ` Avi Kivity
2007-08-22 16:11             ` Jeff Garzik
2007-08-27 17:54     ` Benjamin Herrenschmidt
2007-08-28  6:51       ` Zachary Amsden
2007-08-28 11:18         ` Benjamin Herrenschmidt
2007-08-22  6:00 ` H. Peter Anvin
2007-08-22  6:03   ` Zachary Amsden
2007-08-24 12:20     ` Pavel Machek
2007-08-22 10:22 ` Andi Kleen
2007-08-22 16:48   ` Zachary Amsden
2007-08-22 17:59     ` Andi Kleen
2007-08-22 17:07       ` Zachary Amsden
2007-08-22 19:46         ` Andi Kleen
2007-08-22 20:43           ` Zachary Amsden
2007-08-22 22:04             ` Andi Kleen
2007-08-22 21:25               ` Alan Cox
2007-08-22 21:25                 ` Alan Cox
2007-08-22 21:41                 ` Zachary Amsden
2007-08-23  5:34                 ` Rusty Russell
2007-08-22 21:45               ` Zachary Amsden
2007-08-22 17:34       ` Alan Cox
2007-08-22 17:34         ` Alan Cox
2007-08-22 21:54 ` Jeremy Fitzhardinge
2007-08-22 22:15   ` James Courtier-Dutton
2007-08-22 22:15     ` James Courtier-Dutton
2007-08-22 22:20     ` Chris Wright
2007-08-22 22:29       ` James Courtier-Dutton
2007-08-22 22:29         ` James Courtier-Dutton
2007-08-22 22:34         ` Chris Wright
2007-08-22 23:14         ` Jeremy Fitzhardinge
2007-08-23  0:47           ` Andi Kleen
2007-08-23  0:38             ` Jeremy Fitzhardinge
2007-08-23  2:34               ` Andi Kleen
2007-08-27 17:54 ` Benjamin Herrenschmidt

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=46CBCADF.2070400@qumranet.com \
    --to=avi@qumranet.com \
    --cc=akpm@osdl.org \
    --cc=chrisw@sous-sol.org \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=virtualization@lists.osdl.org \
    --cc=zach@vmware.com \
    /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.