From: Chao Peng <chao.p.peng@linux.intel.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
gor Mammedov <imammedo@redhat.com>,
Xiao Guangrong <guangrong.xiao@linux.intel.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Eduardo Habkost <ehabkost@redhat.com>,
Haozhong Zhang <haozhong.zhang@intel.com>
Subject: [Qemu-devel] [RFC PATCH v2 00/12] Guest startup time optimization
Date: Thu, 25 Aug 2016 06:14:53 -0400 [thread overview]
Message-ID: <1472120105-29235-1-git-send-email-chao.p.peng@linux.intel.com> (raw)
This patchset is trying to optimize guest startup time by disabling
or simplifying some features in QEMU. The version 1 can be found at:
https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg04842.html
Unlike version 1, this version optimizes Q35 directly instead of
introducing a totally new platform. But we still keep the design of
skipping firmware as till now we don't have good idea to optimize
firmware to get the comparable boot time.
The patchset is against commit 5f0e775 (Update version for v2.7.0-rc3
release) on master branch.
Basically this patchset introduces several switches to qemu comandline
so that several features can be turned off in some use cases. The
default behavior will not change in case no switches are provided.
Performance data:
feature(switches) time saved in guest
-nosmbus 4ms
-nosata 6ms
-nopic 2ms
-nopit 5ms
-static-prt 8ms
-nofw 62ms
Thanks,
Chao
Chao Peng (9):
pc: make smbus configurable
pc: make sata configurable
pc: make pic configurable
pc: make pit configurable
acpi: build static _PRT
ich9: enable pm registers when there is no firmware
q35: initialize MMCFG base when there is no firmware
pc: support direct loading protected/long mode kernel
pc: skip firmware
Haozhong Zhang (3):
acpi: expose data structurs and functions of BIOS linker loader
acpi: expose acpi_checksum()
acpi: patch guest ACPI when there is no firmware
hw/acpi/bios-linker-loader.c | 83 +---------
hw/acpi/core.c | 2 +-
hw/acpi/nvdimm.c | 6 +-
hw/i386/Makefile.objs | 2 +-
hw/i386/acpi-build-nofw.c | 295 ++++++++++++++++++++++++++++++++++
hw/i386/acpi-build.c | 102 +++++++-----
hw/i386/acpi-build.h | 5 +
hw/i386/pc.c | 301 +++++++++++++++++++++++++++++++----
hw/i386/pc_piix.c | 2 +-
hw/i386/pc_q35.c | 60 ++++---
hw/isa/lpc_ich9.c | 12 +-
hw/pci-host/q35.c | 15 +-
include/hw/acpi/acpi.h | 2 +
include/hw/acpi/bios-linker-loader.h | 85 ++++++++++
include/hw/i386/pc.h | 16 +-
15 files changed, 800 insertions(+), 188 deletions(-)
create mode 100644 hw/i386/acpi-build-nofw.c
--
1.8.3.1
next reply other threads:[~2016-08-25 10:23 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-25 10:14 Chao Peng [this message]
2016-08-25 10:14 ` [Qemu-devel] [RFC PATCH v2 01/12] pc: make smbus configurable Chao Peng
2016-09-06 20:18 ` Eduardo Habkost
2016-08-25 10:14 ` [Qemu-devel] [RFC PATCH v2 02/12] pc: make sata configurable Chao Peng
2016-08-25 10:14 ` [Qemu-devel] [RFC PATCH v2 03/12] pc: make pic configurable Chao Peng
2016-08-25 10:14 ` [Qemu-devel] [RFC PATCH v2 04/12] pc: make pit configurable Chao Peng
2016-08-25 10:14 ` [Qemu-devel] [RFC PATCH v2 05/12] acpi: build static _PRT Chao Peng
2016-08-29 17:06 ` Paolo Bonzini
2016-08-25 10:14 ` [Qemu-devel] [RFC PATCH v2 06/12] acpi: expose data structurs and functions of BIOS linker loader Chao Peng
2016-08-25 10:15 ` [Qemu-devel] [RFC PATCH v2 07/12] acpi: expose acpi_checksum() Chao Peng
2016-08-25 10:15 ` [Qemu-devel] [RFC PATCH v2 08/12] acpi: patch guest ACPI when there is no firmware Chao Peng
2016-08-25 10:15 ` [Qemu-devel] [RFC PATCH v2 09/12] ich9: enable pm registers " Chao Peng
2016-08-25 10:15 ` [Qemu-devel] [RFC PATCH v2 10/12] q35: initialize MMCFG base " Chao Peng
2016-08-25 10:15 ` [Qemu-devel] [RFC PATCH v2 11/12] pc: support direct loading protected/long mode kernel Chao Peng
2016-08-25 10:15 ` [Qemu-devel] [RFC PATCH v2 12/12] pc: skip firmware Chao Peng
2016-08-29 17:08 ` Paolo Bonzini
2016-09-02 11:08 ` [Qemu-devel] [RFC PATCH v2 00/12] Guest startup time optimization Paolo Bonzini
2016-09-05 2:37 ` Michael S. Tsirkin
2016-09-06 10:48 ` Chao Peng
2016-09-06 11:53 ` Michael S. Tsirkin
2016-09-06 14:28 ` Chao Peng
2016-09-12 15:15 ` Gerd Hoffmann
2016-09-12 17:57 ` [Qemu-devel] [SeaBIOS] " Peter Stuge
2016-09-06 14:21 ` [Qemu-devel] " Paolo Bonzini
2016-09-06 14:31 ` Chao Peng
2016-09-06 14:45 ` Michael S. Tsirkin
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=1472120105-29235-1-git-send-email-chao.p.peng@linux.intel.com \
--to=chao.p.peng@linux.intel.com \
--cc=ehabkost@redhat.com \
--cc=guangrong.xiao@linux.intel.com \
--cc=haozhong.zhang@intel.com \
--cc=imammedo@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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.