All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>, Yang Zhong <yang.zhong@intel.com>
Cc: berrange@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] About the light VM solution!
Date: Tue, 5 Dec 2017 14:35:42 +0100	[thread overview]
Message-ID: <5f9f2835-5811-3ee0-9049-0d2cddc08958@redhat.com> (raw)
In-Reply-To: <20171205120623.GB31150@stefanha-x1.localdomain>

[-- Attachment #1: Type: text/plain, Size: 2528 bytes --]

On 05/12/2017 13:06, Stefan Hajnoczi wrote:
> On Tue, Dec 05, 2017 at 02:33:13PM +0800, Yang Zhong wrote:
>> As you know, AWS has decided to switch to KVM in their clouds. This news make almost all
>> china CSPs(clouds service provider) pay more attention on KVM/Qemu, especially light VM
>> solution.
>>
>> Below are intel solution for light VM, qemu-lite.
>> http://events.linuxfoundation.org/sites/events/files/slides/Light%20weight%20virtualization%20with%20QEMU%26KVM_0.pdf
>>
>> My question is whether community has some plan to implement light VM or alternative solutions? If no, whether our 
>> qemu-lite solution is suitable for upstream again? Many thanks!
> 
> What caused a lot of discussion and held back progress was the approach
> that was taken.  The basic philosophy seems to be bypassing or
> special-casing components in order to avoid slow operations.  This
> requires special QEMU, firmware, and/or guest kernel binaries and causes
> extra work for the management stack, distributions, and testers.

I think having a special firmware (be it qboot or a special-purpose
SeaBIOS) is acceptable.

So is having a special QEMU binary with fewer runtime dependencies,
though that should only be a stopgap measure; the real solution is to
modularize e.g. the UI and audio subsystems to remove runtime
dependencies from the QEMU binary itself.

I agree with Stefan however that there should be no special machine
types or kernels.

Referring to your slides, the remaining points for fast boot are:

* parallelize VCPU initialization: do you have patches? :)

* q35-lite: any other machine options that have not been merged yet?

* SeaBIOS+Option ROM: can you take new numbers with DMA-based option
ROM, or with qboot?

* guest kernel: my proposal to make Linux a multiboot kernel has been
nacked upstream, but Oracle is working on supporting Xen PVH binaries in
QEMU.  These are very similar to multiboot and in particular they're
uncompressed.

For memory consumption, 2.11 should have improved things already thanks
to shared FlatViews.  Your malloc_trim patch should also be merged in 2.12.

So are things really that bad?  Almost all "qemu-lite" patches that have
been proposed upstream have been accepted.

Only mmap-ing the kernel into the guest is not going to be accepted, but
maybe you can look into replacing stdio with open+mmap in load_linux and
load_multiboot, for both the kernel and the initrd.  This should save a
few milliseconds too.

Paolo


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

  reply	other threads:[~2017-12-05 13:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-05  6:33 [Qemu-devel] About the light VM solution! Yang Zhong
2017-12-05 12:06 ` Stefan Hajnoczi
2017-12-05 13:35   ` Paolo Bonzini [this message]
2017-12-05 13:47     ` Stefan Hajnoczi
2017-12-05 14:00       ` Paolo Bonzini
2017-12-05 16:31         ` Stefan Hajnoczi
2017-12-06  9:21           ` Gonglei (Arei)
2017-12-06 15:09             ` Stefan Hajnoczi
2017-12-07  0:49               ` Gonglei (Arei)
2017-12-06 15:11     ` Stefan Hajnoczi
2017-12-08 11:29       ` Yang Zhong
2017-12-07 12:03 ` Richard W.M. Jones

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=5f9f2835-5811-3ee0-9049-0d2cddc08958@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=berrange@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=yang.zhong@intel.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.