All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Gleb Natapov <gleb@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	seabios@seabios.org, "Richard W.M. Jones" <rjones@redhat.com>,
	Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] Hack integrating SeaBios / LinuxBoot option rom with QEMU trace backends
Date: Tue, 11 Oct 2011 10:18:19 +0100	[thread overview]
Message-ID: <20111011091819.GK14627@redhat.com> (raw)
In-Reply-To: <4E940791.1070600@redhat.com>

On Tue, Oct 11, 2011 at 11:08:33AM +0200, Avi Kivity wrote:
> On 10/10/2011 09:01 PM, Alexander Graf wrote:
> >>>  For example, one execution of QEMU produced the following log:
> >>>
> >>>    $ stap qemu-timing.stp
> >>>    0.000 Start
> >>>    0.036 Run
> >>>    0.038 BIOS post
> >>>    0.180 BIOS int 19
> >>>    0.181 BIOS boot OS
> >>>    0.181 LinuxBoot copy kernel
> >>>    1.371 LinuxBoot copy initrd
> >>
> >>  Yeah, there was a thread a bit ago about the performance of the interface to read the kernel/initrd.  I think at it was using single byte access instructions and there were patches to use string accessors instead?  I can't remember where that threaded ended up.
> >
> >IIRC we're already using string accessors, but are still slow. Richard had a nice patch cooked up to basically have the fw_cfg interface be able to DMA its data to the guest. I like the idea. Avi did not.
> >
> >And yes, bad -kernel performance does hurt in some workloads. A lot.
> >
> >
> 
> The rep/ins implementation is still slow, optimizing it can help.
> 
> What does 'perf top' say when running this workload?

To ensure it only recorded the LinuxBoot code, I created a 100 MB
kernel image which takes approx 30 seconds to copy. Here is the
perf output for approx 15 seconds of that copy:

             1906.00 15.0% read_hpet                       [kernel]            
             1029.00  8.1% x86_emulate_insn                [kvm]               
              863.00  6.8% test_cc                         [kvm]               
              661.00  5.2% emulator_get_segment            [kvm]               
              631.00  5.0% kvm_mmu_pte_write               [kvm]               
              535.00  4.2% __linearize                     [kvm]               
              431.00  3.4% do_raw_spin_lock                [kernel]            
              356.00  2.8% vmx_get_segment                 [kvm_intel]         
              330.00  2.6% vmx_segment_cache_test_set      [kvm_intel]         
              308.00  2.4% segmented_write                 [kvm]               
              291.00  2.3% vread_hpet                      [kernel].vsyscall_fn
              251.00  2.0% vmx_get_cpl                     [kvm_intel]         
              230.00  1.8% trace_kvm_mmu_audit             [kvm]               
              207.00  1.6% kvm_write_guest                 [kvm]               
              199.00  1.6% emulator_write_emulated         [kvm]               
              187.00  1.5% emulator_write_emulated_onepage [kvm]               
              185.00  1.5% kvm_write_guest_page            [kvm]               
              177.00  1.4% vmx_get_segment_base            [kvm_intel]         
              158.00  1.2% fw_cfg_io_readb                 qemu-system-x86_64  
              148.00  1.2% register_address_increment      [kvm]               
              142.00  1.1% emulator_write_phys             [kvm]               
              134.00  1.1% acpi_os_read_port               [kernel]            


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

  reply	other threads:[~2011-10-11  9:18 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-10 17:08 [Qemu-devel] Hack integrating SeaBios / LinuxBoot option rom with QEMU trace backends Daniel P. Berrange
2011-10-10 18:53 ` Anthony Liguori
2011-10-10 19:01   ` Alexander Graf
2011-10-11  8:23     ` [Qemu-devel] Slow kernel/initrd loading via fw_cfg; Was " Daniel P. Berrange
2011-10-11  8:43       ` Richard W.M. Jones
2011-10-11  9:15       ` Avi Kivity
2011-10-11  9:19         ` Alexander Graf
2011-10-11  9:26           ` Avi Kivity
2011-10-11  9:38             ` Alexander Graf
2011-10-11  9:49               ` Avi Kivity
2011-10-11  9:56                 ` Gleb Natapov
2011-10-11  9:59                   ` Avi Kivity
2011-10-11 10:28                     ` Gleb Natapov
2011-10-11 13:12               ` Anthony Liguori
2011-10-11 13:14                 ` Alexander Graf
2011-10-11 13:17                   ` Gleb Natapov
2011-10-11 13:19                   ` Anthony Liguori
2011-10-11 13:23                     ` Avi Kivity
2011-10-11 13:24                       ` Gleb Natapov
2011-10-11 13:29                       ` Anthony Liguori
2011-10-11 13:45                         ` Avi Kivity
2011-10-11 13:58                           ` Anthony Liguori
2011-10-11 14:01                     ` Daniel P. Berrange
2011-10-11 14:33                       ` Anthony Liguori
2011-10-11 14:34                         ` Alexander Graf
2011-10-11 14:36                         ` Daniel P. Berrange
2011-10-11  9:50             ` Gleb Natapov
2011-10-11  9:55               ` Avi Kivity
2011-10-11 13:17                 ` Anthony Liguori
2011-10-11 13:22                   ` Gleb Natapov
2011-10-15 14:19                   ` Kevin O'Connor
2011-10-11  9:27         ` Daniel P. Berrange
2011-10-11  9:39           ` Avi Kivity
2011-10-11  9:49             ` Daniel P. Berrange
2011-10-11  9:50               ` Avi Kivity
2011-10-11 10:09                 ` Daniel P. Berrange
2011-10-15 10:00       ` Blue Swirl
2011-10-15 16:16         ` Richard W.M. Jones
2011-10-16 17:20           ` Lluís Vilanova
2011-10-11  9:08     ` [Qemu-devel] " Avi Kivity
2011-10-11  9:18       ` Daniel P. Berrange [this message]
2011-10-11  9:35         ` Avi Kivity
2011-10-10 23:57 ` Kevin O'Connor

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=20111011091819.GK14627@redhat.com \
    --to=berrange@redhat.com \
    --cc=agraf@suse.de \
    --cc=avi@redhat.com \
    --cc=gleb@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.com \
    --cc=seabios@seabios.org \
    /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.