From: "Michael S. Tsirkin" <mst@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>,
Sergio Lopez <slp@redhat.com>,
qemu-devel@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH 00/13] microvm: add acpi support
Date: Thu, 26 Mar 2020 03:33:35 -0400 [thread overview]
Message-ID: <20200326032841-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200325194434.58b50148@redhat.com>
On Wed, Mar 25, 2020 at 07:44:34PM +0100, Igor Mammedov wrote:
> On Wed, 25 Mar 2020 16:03:39 +0100
> Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> > On Wed, Mar 25, 2020 at 01:32:12PM +0100, Igor Mammedov wrote:
> > > On Thu, 19 Mar 2020 09:01:04 +0100
> > > Gerd Hoffmann <kraxel@redhat.com> wrote:
> > >
> > > > I know that not supporting ACPI in microvm is intentional. If you still
> > > > don't want ACPI this is perfectly fine, you can use the usual -no-acpi
> > > > switch to toggle ACPI support.
> > > >
> > > > These are the advantages you are going to loose then:
> > > >
> > > > (1) virtio-mmio device discovery without command line hacks (tweaking
> > > > the command line is a problem when not using direct kernel boot).
> > > > (2) Better IO-APIC support, we can use IRQ lines 16-23.
> > > > (3) ACPI power button (aka powerdown request) works.
> > > > (4) machine poweroff (aka S5 state) works.
> > > >
> > > > Together with seabios patches for virtio-mmio support this allows to
> > > > boot standard fedora images (cloud, coreos, workstation live) with the
> > > > microvm machine type.
> > >
> > > what CLI do you use to test it?
> >
> > Test script below. "qemu-default" is a wrapper script which starts
> > qemu-system-x86_64 from my build directory. "qemu-firmware" is the
> > same plus isa-debugcon configured for a firmware log on stdout.
> >
> > Latest bits (with some of the review comments addressed) just pushed
> > to git://git,kraxel.org/qemu sirius/microvm
>
> thanks, below are test results I got on my system,
> spoiler hw-reduced reduces boot time on ~0.02s compared to full blown acpi
> ----
> using timestamp at "Run /init as init process" as measuring point
>
> no acpi
> 1.967316
> 1.975272
> 1.981267
> 1.974316
> 1.962452
> 1.960988
>
> hw reduced acpi
> 0.893838
> 0.892573
> 0.890585
> 0.900306
> 0.897902
>
> normal acpi:
> 0.921647
> 0.916298
> 0.923518
> 0.916298
> 0.913234
>
> PS:
> I just quickly hacked hw-reduced acpi (using arm/virt as model)
> without implementing power button but I doubt that would affect results noticeably
> on qemu side it probably also will save some time since there are less
> things to setup for qemu.
And no ACPI is faster because of PS/2 probing, right?
> >
> > HTH,
> > Gerd
> >
> > ============================ cut here ============================
> > #!/bin/sh
> >
> > mode="${1}"
> > shift
> >
> > back=()
> > devs=()
> > args=()
> > qemu="qemu-firmware -monitor none -boot menu=on"
> > disk=""
> > liso=""
> > krnl=""
> > karg="console=ttyS0,115200"
> >
> > case "$mode" in
> > kernel)
> > qemu="qemu-default -nographic"
> > disk="/vmdisk/imagefish/rhel-8.1.0-ks-x86_64-testboot-sys-disk.qcow2"
> > krnl="$HOME/build/linux-sirius-x86_64-qemu/arch/x86/boot/bzImage"
> > karg="$karg root=/dev/sda4"
> > karg="$karg quiet"
> > ;;
> > seabios)
> > disk="/vmdisk/imagefish/rhel-8.1.0-ks-x86_64-testboot-sys-disk.qcow2"
> > krnl="$HOME/build/linux-sirius-x86_64-qemu/arch/x86/boot/bzImage"
> > karg="$karg root=/dev/sda4"
> > args+=("-bios" "/home/kraxel/projects/seabios/out-bios-microvm/bios.bin")
> > ;;
> > cloud)
> > disk="/vmdisk/iso/Fedora-Cloud-Base-31-1.9.x86_64.raw"
> > ;;
> > coreos)
> > disk="/vmdisk/iso/fedora-coreos-31.20200210.3.0-metal.x86_64.raw"
> > ;;
> > live)
> > liso="/vmdisk/iso/Fedora-Workstation-Live-x86_64-30-1.2.iso"
> > devs+=("-device" "virtio-gpu-device")
> > devs+=("-device" "virtio-keyboard-device")
> > devs+=("-device" "virtio-tablet-device")
> > ;;
> > *)
> > echo "unknown mode: $mode"
> > echo "known modes: kernel seabios cloud coreos live"
> > exit 1
> > ;;
> > esac
> >
> > if test "$disk" != ""; then
> > format="${disk##*.}"
> > back+=("-drive" "if=none,id=disk,format=${format},file=${disk}")
> > devs+=("-device" "scsi-hd,drive=disk,bootindex=1")
> > fi
> > if test "$liso" != ""; then
> > back+=("-drive" "if=none,id=cdrom,media=cdrom,readonly,format=raw,file=${liso}")
> > devs+=("-device" "scsi-cd,drive=cdrom,bootindex=2")
> > fi
> > if test "$krnl" != ""; then
> > args+=("-kernel" "$krnl")
> > args+=("-append" "$karg")
> > fi
> >
> > set -ex
> > $qemu \
> > -enable-kvm \
> > -cpu host \
> > -M microvm,graphics=off,pit=off,pic=on,rtc=on \
> > \
> > -m 4G \
> > \
> > -netdev user,id=net \
> > "${back[@]}" \
> > \
> > -global virtio-mmio.force-legacy=false \
> > -device virtio-net-device,netdev=net \
> > -device virtio-scsi-device \
> > "${devs[@]}" \
> > \
> > "${args[@]}" \
> > "$@"
next prev parent reply other threads:[~2020-03-26 7:34 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-19 8:01 [PATCH 00/13] microvm: add acpi support Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 01/13] acpi: make build_madt() more generic Gerd Hoffmann
2020-03-19 9:34 ` Philippe Mathieu-Daudé
2020-03-19 8:01 ` [PATCH 02/13] acpi: factor out acpi_dsdt_add_fw_cfg() Gerd Hoffmann
2020-03-19 9:36 ` Philippe Mathieu-Daudé
2020-03-19 12:16 ` Igor Mammedov
2020-03-19 8:01 ` [PATCH 03/13] microvm: add isa-acpi device Gerd Hoffmann
2020-03-19 13:42 ` Igor Mammedov
2020-03-20 8:22 ` Gerd Hoffmann
2020-03-20 14:54 ` Igor Mammedov
2020-03-19 8:01 ` [PATCH 04/13] microvm: add minimal acpi support Gerd Hoffmann
2020-03-19 14:00 ` Igor Mammedov
2020-03-25 9:04 ` Gerd Hoffmann
2020-03-25 18:59 ` Igor Mammedov
2020-03-19 8:01 ` [PATCH 05/13] microvm: add acpi_dsdt_add_virtio() for x86 Gerd Hoffmann
2020-03-19 14:30 ` Igor Mammedov
2020-03-20 8:19 ` Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 06/13] microvm: disable virtio-mmio cmdline hack Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 07/13] [testing] seabios: update submodule to experimental microvm branch Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 08/13] [testing] seabios: update config & build rules Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 09/13] [testing] seabios: update binaries to experimental microvm branch Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 10/13] microvm/acpi: add rtc Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 11/13] microvm/acpi: add serial Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 12/13] microvm: make virtio irq base runtime configurable Gerd Hoffmann
2020-03-19 8:01 ` [PATCH 13/13] microvm/acpi: use GSI 16-23 for virtio Gerd Hoffmann
2020-03-20 15:30 ` Konrad Rzeszutek Wilk
2020-03-23 10:23 ` Gerd Hoffmann
2020-03-19 8:19 ` [PATCH 00/13] microvm: add acpi support no-reply
2020-03-19 8:23 ` no-reply
2020-03-19 8:24 ` no-reply
2020-03-19 8:49 ` Paolo Bonzini
2020-03-19 9:33 ` Gerd Hoffmann
2020-03-19 9:59 ` Paolo Bonzini
2020-03-19 11:28 ` Gerd Hoffmann
2020-03-19 13:40 ` Gerd Hoffmann
2020-03-19 17:34 ` Paolo Bonzini
2020-03-20 8:32 ` Gerd Hoffmann
2020-03-20 10:41 ` Paolo Bonzini
2020-03-23 10:51 ` Michael S. Tsirkin
2020-03-23 12:09 ` Gerd Hoffmann
2020-03-23 12:16 ` Igor Mammedov
2020-03-25 9:16 ` Gerd Hoffmann
2020-03-25 9:53 ` Igor Mammedov
2020-03-25 18:56 ` Igor Mammedov
2020-03-25 12:32 ` Igor Mammedov
2020-03-25 15:03 ` Gerd Hoffmann
2020-03-25 18:44 ` Igor Mammedov
2020-03-26 7:33 ` Michael S. Tsirkin [this message]
2020-03-26 10:59 ` Igor Mammedov
2020-03-27 12:06 ` Gerd Hoffmann
2020-03-27 14:05 ` Igor Mammedov
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=20200326032841-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=kraxel@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=slp@redhat.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;
as well as URLs for NNTP newsgroup(s).