All of lore.kernel.org
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@eu.citrix.com>
To: tech mailinglists <mailinglists.tech@gmail.com>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: Questions about PVH in Xen 4.3 unstable
Date: Wed, 30 Jan 2013 12:25:23 +0000	[thread overview]
Message-ID: <51091133.9070308@eu.citrix.com> (raw)
In-Reply-To: <CAMCOOJtiZxHoUxTLUr7N6KvrPiOhr+45t37YFs5bWosm6fs9ZA@mail.gmail.com>

On 30/01/13 12:04, tech mailinglists wrote:
> I read the blog posts and watched the video of Mukesh's prasentation. 
> And now I want to try to summer up the existing guest/domain-types and 
> stubdom-types to verify I understood them:
>
> Guest/Domain-Types
>
> PV: A PV guest is a guest where the kernel is so modified that it 
> knows that it is a virtualized system (no priviliged instructions, 
> special drivers and so on).
>
> HVM: This guests are guest which can not be modified or need to run 
> because of other reasons with the original code base. This guests run 
> with the VT-x/AMD-V implementations in the modern CPUs. They need QEmu 
> and can use ioemu stubdoms
>
> PVHVM: This guests are HVM guests for which special drivers exists for 
> the qemu devices, which makes it possible to shrink the need of 
> emulation because the guest knows that the devices are virtual.

Not quite.  "PVHVM" is where the guest knows about more of the PV 
interfaces provided by Xen and uses those instead of the emulated ones.  
It doesn't necessarily have to do with things provided by qemu.

For example, one of the big things in PVHVM is the use the event channel 
interface for interrupts, rather than emulated APICs.  APICs are 
emulated in Xen, not in qemu, so they're pretty fast.  Still, each 
interrupt requires the guest to go into the hypervisor 3 times when 
using a virtual APIC (because you have to do 3 MMIO writes), but only 
once when using event channels.

But PVHVM guests still use qemu for emulated mouse, motherboard, 
cd-roms, and so on, because there's not really a performance problem there.

> PVH: This guests are PV guests which can use the hardware 
> virtualization technologies of the CPUs to do special things. About 
> this I have still two questions: I found out that a few tasks are 
> faster in HVM Mode so is it a try to make PV guests faster?

This is covered in the blogs, I think.  There are sometimes performance 
advantages to using the HVM extensions, and that's a big reason to have 
this mode.  The other big thing is to get rid of the MMU hooks in the 
pvops kernel, which is the source of a lot of unhappiness and stress.

> And does PVH makes it easier to implement PV in an operating system 
> kernels?

Probably, yes.

> Stubdoms:
>
> PV-GRUB: This is a stubdom where GRUB is compiled against Mini-OS to 
> get all features of GRUB and doesn't need to use PyGRUB within Dom0.

Yes -- although I'm not sure I would call this a stubdom technically, 
since it runs inside the guest domain itself and goes a way once it 
starts.  It's basically the equivalent of BIOS+grub for HVM domains.

> ioemu: This stubdom is a QEmu version which is compiled against 
> Mini-OS and it isolates the qemu process of a HVM DomU.
>
> xenstore: This stubdom contains the xenstore service which holds a 
> database about resources and domains. So it stores informations about 
> which resource is attached to which domain and so on.
>
> Would this description be right or does I think wrong?

Everything else sounds about right.

  -George

  parent reply	other threads:[~2013-01-30 12:25 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-30 10:33 Questions about PVH in Xen 4.3 unstable tech mailinglists
2013-01-30 10:47 ` Samuel Thibault
2013-01-30 10:52   ` tech mailinglists
2013-01-30 10:56     ` Samuel Thibault
2013-01-30 11:04     ` George Dunlap
2013-01-30 11:11       ` Roger Pau Monné
2013-01-30 12:20         ` Samuel Thibault
2013-01-30 12:26           ` Ian Campbell
2013-01-30 12:33             ` Samuel Thibault
2013-01-30 12:26           ` Samuel Thibault
2013-01-30 12:32             ` Samuel Thibault
2013-01-30 12:43               ` Roger Pau Monné
2013-01-30 13:35                 ` tech mailinglists
2013-01-30 15:02             ` Samuel Thibault
2013-01-30 11:29       ` Jan Beulich
2013-01-30 12:04         ` tech mailinglists
2013-01-30 12:22           ` Samuel Thibault
2013-01-30 12:25           ` George Dunlap [this message]
2013-01-30 12:19         ` Samuel Thibault
2013-01-30 10:50 ` George Dunlap

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=51091133.9070308@eu.citrix.com \
    --to=george.dunlap@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=mailinglists.tech@gmail.com \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=xen-devel@lists.xen.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.