All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Andrew Jones" <drjones@redhat.com>,
	"Matt Fleming" <matt.fleming@intel.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Gabriel L. Somlo" <somlo@cmu.edu>,
	"Ard Biesheuvel" <ard.biesheuvel@linaro.org>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Leif Lindholm" <leif.lindholm@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Shannon Zhao" <zhaoshenglong@huawei.com>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Marc Marí" <markmb@redhat.com>,
	"Kevin OConnor" <kevin@koconnor.net>,
	"Richard Henderson" <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v4 4/5] acpi: arm: add fw_cfg device node to dsdt
Date: Wed, 30 Sep 2015 14:22:26 +0200	[thread overview]
Message-ID: <560BD402.4020003@redhat.com> (raw)
In-Reply-To: <CAFEAcA9ZkRMCZqXUfOmia=GdL6yrto_aaMPUsEWJB7v9GtSKFA@mail.gmail.com>

On 09/30/15 13:13, Peter Maydell wrote:
> On 30 September 2015 at 11:21, Laszlo Ersek <lersek@redhat.com> wrote:
>> However: if Gabriel has no access to actual aarch64 hardware (ie. cannot
>> run KVM guests), then I don't think he should bother. Booting just the
>> UEFI firmware on qemu-system-aarch64 with TCG acceleration is fine, but
>> for checking "/proc/iomem", he'd really need to boot into guest Linux,
>> and *that* takes absolutely forever with TCG.
> 
> If it actually takes forever that's a bug of some sort I think.
> TCG isn't all that snappy but it shouldn't take more than a few
> minutes to boot and it should be at least usably responsive on
> the command line once you get there. (Best not to try to boot
> into a GUI, though.)

Yes, TCG is fast, relative to the feat it pulls off, but in absolute
terms, even those minutes to boot are annoying when you repeatedly test
something in the guest.

Here's a timing from my new company laptop (Thinkpad W541, i7-4810MQ CPU
@ 2.80GHz, running docked); QEMU built with --enable-debug:

(1) From starting the guest until the EFI stub of the kernel launches:
omitted (we're not timing the firmware, as it is not universally
necessary for testing)

(2) From launching the EFI stub until the login prompt appears on the
serial console: 3 minutes 46 seconds

(3) After logging in super fast, the time it takes to get a shell
prompt: 50 seconds

(4) The time it takes for background services to quiesce (= for QEMU to
stop spinning) while waiting idly at the shell prompt (because it makes
no sense to issue commands earlier): 1 minute 19 seconds

(5) Once the guest quiesces, shutting it down with "poweroff": 1 minute
36 seconds.

In total, 7 minutes 31 seconds for a test cycle (not counting the
firmware), without running any actual commands in the guest.

Again, it depends on the services that are enabled in systemd, but you
usually want to test with a guest OS that users normally run.

(I realize step (5) can be avoided if you have a qcow2 snapshot -- just
kill the guest when you're done, and revert the image to the snapshot
before next boot; hopefully new guest files are not important. I also
agree the first investment in a TCG guest should be heavily trimming its
services.)

So -- there's no bug, but TCG does not appear very suitable for testing
in guest userspace *now*.

... This is not to diminish TCG's general brilliance, and usefulness in
certain situations. I haven't forgotten that aarch64 emulation in TCG
was a long awaited godsend after the Foundation Model!

Still: Gabriel, how do you feel about buying a 96Boards EE (when it
becomes available)? :)

https://www.96boards.org/products/ee/
http://community.arm.com/people/jeffunderhill/status/9831
https://community.amd.com/community/amd-business/blog/2015/06/23/extending-arm-s-ecosystem-for-server-developers

Thanks
Laszlo

  reply	other threads:[~2015-09-30 12:22 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-27 21:28 [Qemu-devel] [PATCH v4 0/5] add ACPI node for fw_cfg on pc and arm Gabriel L. Somlo
2015-09-27 21:28 ` [Qemu-devel] [PATCH v4 1/5] fw_cfg: expose control register size in fw_cfg.h Gabriel L. Somlo
2015-09-29 10:10   ` Laszlo Ersek
2015-09-27 21:28 ` [Qemu-devel] [PATCH v4 2/5] pc: fw_cfg: move ioport base constant to pc.h Gabriel L. Somlo
2015-09-29 10:20   ` Laszlo Ersek
2015-09-27 21:29 ` [Qemu-devel] [PATCH v4 3/5] acpi: pc: add fw_cfg device node to ssdt Gabriel L. Somlo
2015-09-29 10:33   ` Laszlo Ersek
2015-09-29 16:46     ` Gabriel L. Somlo
2015-09-29 16:55       ` Laszlo Ersek
2015-09-29 17:19         ` Gabriel L. Somlo
2015-09-29 17:28           ` Laszlo Ersek
2015-09-30  0:18             ` Gabriel L. Somlo
2015-09-30 13:01               ` Paolo Bonzini
2015-09-30 14:16                 ` Gabriel L. Somlo
2015-09-30 14:27                   ` Paolo Bonzini
2015-10-01  7:02   ` Igor Mammedov
2015-10-01  8:27     ` Laszlo Ersek
2015-10-01 11:33       ` Igor Mammedov
2015-10-01 11:52         ` Laszlo Ersek
2015-10-01 13:00           ` Gabriel L. Somlo
2015-10-01 15:59           ` Eric Blake
2015-10-10  4:00         ` Gabriel L. Somlo
2015-10-13 19:10           ` Eduardo Habkost
2015-10-13 21:18             ` Michael S. Tsirkin
2015-10-13 22:43               ` Eduardo Habkost
2015-10-14  5:06                 ` Michael S. Tsirkin
2015-10-14 16:32                   ` Eduardo Habkost
2015-10-14  8:45             ` Igor Mammedov
2015-10-14 16:47               ` Eduardo Habkost
2015-10-15 13:44                 ` Igor Mammedov
2015-09-27 21:29 ` [Qemu-devel] [PATCH v4 4/5] acpi: arm: add fw_cfg device node to dsdt Gabriel L. Somlo
2015-09-29 10:40   ` Laszlo Ersek
2015-09-29 18:26     ` Gabriel L. Somlo
2015-09-29 18:54       ` Laszlo Ersek
2015-09-30  9:59       ` Ard Biesheuvel
2015-09-30 10:21         ` Laszlo Ersek
2015-09-30 11:13           ` Peter Maydell
2015-09-30 12:22             ` Laszlo Ersek [this message]
2015-09-30 15:16               ` Gerd Hoffmann
2015-09-30 15:19               ` Peter Maydell
2015-09-30 19:07               ` Gabriel L. Somlo
2015-10-01 12:22           ` Gabriel L. Somlo
2015-10-01 12:25             ` Ard Biesheuvel
2015-10-01 12:35             ` Laszlo Ersek
2015-10-01 12:39               ` Peter Maydell
2015-10-01 12:50                 ` Laszlo Ersek
2015-09-30 10:28     ` Laszlo Ersek
2015-09-27 21:29 ` [Qemu-devel] [PATCH v4 5/5] fw_cfg: document ACPI device node information Gabriel L. Somlo
2015-09-29 10:43   ` Laszlo Ersek
2015-09-29 10:27 ` [Qemu-devel] [PATCH v4 0/5] add ACPI node for fw_cfg on pc and arm Michael S. Tsirkin
2015-09-29 10:45   ` Laszlo Ersek
2015-09-29 13:59   ` Laszlo Ersek
2015-09-29 14:15     ` Michael S. Tsirkin
2015-09-29 19:04       ` Gabriel L. Somlo
2015-09-29 19:21         ` Laszlo Ersek
2015-09-29 18:40     ` Gabriel L. Somlo
2015-09-29 17:30   ` Gabriel L. Somlo

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=560BD402.4020003@redhat.com \
    --to=lersek@redhat.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=drjones@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=kevin@koconnor.net \
    --cc=kraxel@redhat.com \
    --cc=leif.lindholm@linaro.org \
    --cc=markmb@redhat.com \
    --cc=matt.fleming@intel.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=somlo@cmu.edu \
    --cc=zhaoshenglong@huawei.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.