From: "Marc Marí" <markmb@redhat.com>
To: "Kevin O'Connor" <kevin@koconnor.net>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
qemu-devel <qemu-devel@nongnu.org>,
seabios@seabios.org, Drew <drjones@redhat.com>,
Gerd Hoffmann <kraxel@redhat.com>, Laszlo <lersek@redhat.com>
Subject: Re: QEMU fw_cfg DMA interface
Date: Thu, 6 Aug 2015 17:53:26 +0200 [thread overview]
Message-ID: <20150806175326.4bb968b7@markmb_rh> (raw)
In-Reply-To: <20150806153043.GB9661@morn.localdomain>
[-- Attachment #1: Type: text/plain, Size: 2332 bytes --]
On Thu, 6 Aug 2015 11:30:43 -0400
"Kevin O'Connor" <kevin@koconnor.net> wrote:
> On Thu, Aug 06, 2015 at 02:37:45PM +0200, Marc Marí wrote:
> > On Thu, 6 Aug 2015 13:27:16 +0100
> > Stefan Hajnoczi <stefanha@gmail.com> wrote:
> >
> > > On Thu, Aug 6, 2015 at 12:00 PM, Marc Marí <markmb@redhat.com>
> > > wrote:
> > > > When running a Linux guest on top of QEMU, using the -kernel
> > > > options, this is the timing improvement for x86:
> > > >
> > > > QEMU commit 2be4f242b50a8 and SeaBIOS commit 908a58c1d5ff
> > > > QEMU startup time: .078
> > > > BIOS startup time: .060
> > > > Kernel setup time: .578
> > > > Total time: .716
> > > >
> > > > QEMU with this patch series and SeaBIOS with this patch series
> > > > QEMU startup time: .080
> > > > BIOS startup time: .039
> > > > Kernel setup time: .002
> > > > Total time: .121
> > >
> > > Impressive results!
> > >
> > > Is this a fully-featured QEMU build or did you disable things?
> > >
> > > Is this the default SeaBIOS build or did you disable things?
> > >
> >
> > This is the default QEMU configuration I get for my system. It's
> > not a fully-featured QEMU, but it has a lot of things enabled.
> > SeaBIOS has a default configuration (with debugging disabled).
>
> Thanks!
>
> What qemu command-line did you use during testing? Also, do you have
> a quick primer on how to use the kvm trace stuff to obtain timings?
>
The command line I used is:
x86_64-softmmu/qemu-system-x86_64 --enable-kvm \
-kernel /boot/vmlinuz-4.0.7-300.fc22.x86_64 \
-L pc-bios/optionrom/ \
-bios roms/seabios/out/bios.bin -nographic
And I used perf (and two out instructions in the BIOS) to measure the
times:
perf record -a -e kvm:\* -e sched:sched_process_exec
And searching for sched:sched_process_exec, kvm:kvm_entry, pio_write at
0xf5 and pio_write at 0xf4. Out at 0xf5 is the one in "do_boot"
function, and out at 0xf4 is the one just before the jump to the Linux
kernel.
I attach the script I've been using. It can be improved, but it works.
It can be run like this:
sudo ../../results/run_test.sh x86_64-softmmu/qemu-system-x86_64 \
--enable-kvm -kernel /boot/vmlinuz-4.0.8-300.fc22.x86_64 \
-L pc-bios/optionrom/ \
-bios roms/seabios/out/bios.bin -nographic
Thanks
Marc
[-- Attachment #2: run_test.sh --]
[-- Type: application/x-shellscript, Size: 1401 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: "Marc Marí" <markmb@redhat.com>
To: Kevin O'Connor <kevin@koconnor.net>
Cc: Drew <drjones@redhat.com>, Stefan Hajnoczi <stefanha@gmail.com>,
seabios@seabios.org, linux-kernel <linux-kernel@vger.kernel.org>,
qemu-devel <qemu-devel@nongnu.org>,
Gerd Hoffmann <kraxel@redhat.com>, Laszlo <lersek@redhat.com>
Subject: Re: [Qemu-devel] QEMU fw_cfg DMA interface
Date: Thu, 6 Aug 2015 17:53:26 +0200 [thread overview]
Message-ID: <20150806175326.4bb968b7@markmb_rh> (raw)
In-Reply-To: <20150806153043.GB9661@morn.localdomain>
[-- Attachment #1: Type: text/plain, Size: 2332 bytes --]
On Thu, 6 Aug 2015 11:30:43 -0400
"Kevin O'Connor" <kevin@koconnor.net> wrote:
> On Thu, Aug 06, 2015 at 02:37:45PM +0200, Marc Marí wrote:
> > On Thu, 6 Aug 2015 13:27:16 +0100
> > Stefan Hajnoczi <stefanha@gmail.com> wrote:
> >
> > > On Thu, Aug 6, 2015 at 12:00 PM, Marc Marí <markmb@redhat.com>
> > > wrote:
> > > > When running a Linux guest on top of QEMU, using the -kernel
> > > > options, this is the timing improvement for x86:
> > > >
> > > > QEMU commit 2be4f242b50a8 and SeaBIOS commit 908a58c1d5ff
> > > > QEMU startup time: .078
> > > > BIOS startup time: .060
> > > > Kernel setup time: .578
> > > > Total time: .716
> > > >
> > > > QEMU with this patch series and SeaBIOS with this patch series
> > > > QEMU startup time: .080
> > > > BIOS startup time: .039
> > > > Kernel setup time: .002
> > > > Total time: .121
> > >
> > > Impressive results!
> > >
> > > Is this a fully-featured QEMU build or did you disable things?
> > >
> > > Is this the default SeaBIOS build or did you disable things?
> > >
> >
> > This is the default QEMU configuration I get for my system. It's
> > not a fully-featured QEMU, but it has a lot of things enabled.
> > SeaBIOS has a default configuration (with debugging disabled).
>
> Thanks!
>
> What qemu command-line did you use during testing? Also, do you have
> a quick primer on how to use the kvm trace stuff to obtain timings?
>
The command line I used is:
x86_64-softmmu/qemu-system-x86_64 --enable-kvm \
-kernel /boot/vmlinuz-4.0.7-300.fc22.x86_64 \
-L pc-bios/optionrom/ \
-bios roms/seabios/out/bios.bin -nographic
And I used perf (and two out instructions in the BIOS) to measure the
times:
perf record -a -e kvm:\* -e sched:sched_process_exec
And searching for sched:sched_process_exec, kvm:kvm_entry, pio_write at
0xf5 and pio_write at 0xf4. Out at 0xf5 is the one in "do_boot"
function, and out at 0xf4 is the one just before the jump to the Linux
kernel.
I attach the script I've been using. It can be improved, but it works.
It can be run like this:
sudo ../../results/run_test.sh x86_64-softmmu/qemu-system-x86_64 \
--enable-kvm -kernel /boot/vmlinuz-4.0.8-300.fc22.x86_64 \
-L pc-bios/optionrom/ \
-bios roms/seabios/out/bios.bin -nographic
Thanks
Marc
[-- Attachment #2: run_test.sh --]
[-- Type: application/x-shellscript, Size: 1401 bytes --]
next prev parent reply other threads:[~2015-08-07 2:38 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-06 11:00 QEMU fw_cfg DMA interface Marc Marí
2015-08-06 11:00 ` [Qemu-devel] " Marc Marí
2015-08-06 11:01 ` [Qemu-devel] [PATCH 0/5] " Marc Marí
2015-08-06 11:01 ` [Qemu-devel] [PATCH 1/5] fw_cfg: document fw_cfg_modify_iXX() update functions Marc Marí
2015-08-06 11:01 ` [Qemu-devel] [PATCH 2/5] fw_cfg DMA interface documentation Marc Marí
2015-08-06 14:20 ` Kevin O'Connor
2015-08-07 8:12 ` Marc Marí
2015-08-06 11:01 ` [Qemu-devel] [PATCH 3/5] Implement fw_cfg DMA interface Marc Marí
2015-08-06 14:47 ` Kevin O'Connor
2015-08-06 14:59 ` Marc Marí
2015-08-07 20:40 ` Kevin O'Connor
2015-08-07 22:58 ` Laszlo Ersek
2015-08-06 20:49 ` Laszlo Ersek
2015-08-06 21:11 ` Marc Marí
2015-08-06 21:32 ` Laszlo Ersek
2015-08-07 7:26 ` Marc Marí
2015-08-07 12:14 ` Eric Blake
2015-08-06 11:01 ` [Qemu-devel] [PATCH 4/5] Enable fw_cfg DMA interface for ARM Marc Marí
2015-08-06 11:01 ` [Qemu-devel] [PATCH 5/5] Enable fw_cfg DMA interface for x86 Marc Marí
2015-08-06 11:03 ` [PATCH] QEMU fw_cfg DMA interface documentation Marc Marí
2015-08-06 12:12 ` Stefan Hajnoczi
2015-08-06 12:22 ` Laszlo Ersek
2015-08-06 12:29 ` Stefan Hajnoczi
2015-08-06 14:08 ` Andrew Jones
2015-08-06 14:19 ` Marc Marí
2015-08-06 14:28 ` Andrew Jones
2015-08-06 14:55 ` Laszlo Ersek
2015-08-06 15:13 ` Marc Marí
2015-08-06 21:08 ` Laszlo Ersek
2015-08-06 12:27 ` QEMU fw_cfg DMA interface Stefan Hajnoczi
2015-08-06 12:27 ` [Qemu-devel] " Stefan Hajnoczi
2015-08-06 12:37 ` Marc Marí
2015-08-06 12:37 ` [Qemu-devel] " Marc Marí
2015-08-06 12:40 ` Stefan Hajnoczi
2015-08-06 12:40 ` [Qemu-devel] " Stefan Hajnoczi
2015-08-06 15:30 ` Kevin O'Connor
2015-08-06 15:30 ` [Qemu-devel] " Kevin O'Connor
2015-08-06 15:53 ` Marc Marí [this message]
2015-08-06 15:53 ` Marc Marí
2015-08-07 4:30 ` Kevin O'Connor
2015-08-17 22:08 ` Gerd Hoffmann
-- strict thread matches above, loose matches on Subject: below --
2015-08-31 9:08 Marc Marí
2015-08-31 9:08 ` Marc Marí
2015-09-18 8:58 Marc Marí
2015-09-18 8:58 ` Marc Marí
2015-10-01 12:14 Marc Marí
2015-10-01 12:14 ` Marc Marí
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=20150806175326.4bb968b7@markmb_rh \
--to=markmb@redhat.com \
--cc=drjones@redhat.com \
--cc=kevin@koconnor.net \
--cc=kraxel@redhat.com \
--cc=lersek@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=seabios@seabios.org \
--cc=stefanha@gmail.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.