public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Sheng Yang <sheng@linux.intel.com>
Cc: Keir Fraser <keir.fraser@eu.citrix.com>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	xen-devel <xen-devel@lists.xensource.com>,
	Eddie Dong <eddie.dong@intel.com>,
	linux-kernel@vger.kernel.org,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [Xen-devel] [RFC][PATCH 03/10] xen/hybrid: Xen Hybrid Extension initialization
Date: Wed, 16 Sep 2009 13:24:11 -0700	[thread overview]
Message-ID: <4AB1496B.9070705@goop.org> (raw)
In-Reply-To: <1253090551-7969-4-git-send-email-sheng@linux.intel.com>

On 09/16/09 01:42, Sheng Yang wrote:
> As we know that PV guest have performance issue with x86_64 that guest kernel
> and userspace resistent in the same ring, then the necessary TLB flushes when
> switch between guest userspace and guest kernel cause overhead, and much more
> syscall overhead is also introduced. The Hybrid Extension estimated these
> overhead by putting guest kernel back in (non-root) ring0 then achieve the
> better performance than PV guest.
>
> The Hybrid Extension is started from real mode like HVM guest, but also with a
> component based PV feature selection(e.g. PV halt, PV timer, event channel,
> then PV drivers). So guest with Hybrid extension feature can takes the
> advantages of both H/W virtualization and Para-Virtualization.
>
> This patch introduced the Hybrid Extension guest initialization.
>
> Guest would detect Hybrid capability using CPUID 0x40000002.edx, then call
> HVMOP_enable_hybrid hypercall to enable hybrid support in hypervisor.
>   

I think having an option to put PV guests into an HVM container is a
good one, but as I mentioned in the other mail, I don't think this is
the right approach.

It would be much better to make it so that an unmodified guest works in
such a mode; even with no specific optimisations the guest would get
benefit from faster kernel<->usermode switches.

Then we can add specific optimisations to take advantage of, say,
running in ring 0 (=fast syscalls) and having access to HAP hardware
(=direct pagetable updates, no pinning).


    J

  reply	other threads:[~2009-09-16 20:24 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-16  8:42 [RFC][PATCH 0/10] Xen Hybrid extension support Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 01/10] xen/pvhvm: add support for hvm_op Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 02/10] xen/hybrid: Import cpuid.h from Xen Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 03/10] xen/hybrid: Xen Hybrid Extension initialization Sheng Yang
2009-09-16 20:24   ` Jeremy Fitzhardinge [this message]
2009-09-17  6:22     ` [Xen-devel] " Keir Fraser
2009-09-17 16:46       ` Jeremy Fitzhardinge
2009-09-16  8:42 ` [RFC][PATCH 04/10] xen/hybrid: Modify pv_init_ops and xen_info Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 05/10] xen/hybrid: Add PV halt support Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 06/10] xen/hybrid: Add shared_info page for xen Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 07/10] xen/hybrid: Add PV timer support Sheng Yang
2009-09-16 20:25   ` [Xen-devel] " Jeremy Fitzhardinge
2009-09-17  5:54     ` Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 08/10] x86: Don't ack_APIC_irq() if lapic is disabled in GENERIC_INTERRUPT_VECTOR handler Sheng Yang
2009-09-16  8:58   ` Cyrill Gorcunov
2009-09-16  9:03     ` Cyrill Gorcunov
2009-09-16  9:37       ` Cyrill Gorcunov
2009-09-17  3:54         ` Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 09/10] xen/hybrid: Make event channel work with QEmu emulated devices Sheng Yang
2009-09-16 20:35   ` [Xen-devel] " Jeremy Fitzhardinge
2009-09-17  5:58     ` Sheng Yang
2009-09-16  8:42 ` [RFC][PATCH 10/10] xen/hybrid: Enable grant table and xenbus Sheng Yang
2009-09-16 13:31 ` [Xen-devel] [RFC][PATCH 0/10] Xen Hybrid extension support Konrad Rzeszutek Wilk
2009-09-17  8:59   ` Sheng Yang

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=4AB1496B.9070705@goop.org \
    --to=jeremy@goop.org \
    --cc=eddie.dong@intel.com \
    --cc=jeremy.fitzhardinge@citrix.com \
    --cc=jun.nakajima@intel.com \
    --cc=keir.fraser@eu.citrix.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sheng@linux.intel.com \
    --cc=xen-devel@lists.xensource.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox