[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Using the qemu tracepoints with SystemTap
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] Using the qemu tracepoints with SystemTap |
Date: |
Wed, 14 Sep 2011 15:51:27 +0100 |
On Tue, Sep 13, 2011 at 8:38 PM, William Cohen <address@hidden> wrote:
> On 09/13/2011 12:10 PM, William Cohen wrote:
>
>> Should the qemu.kvm.cpu_in and qemu.kvm.cpu_out match up? There are a lot
>> more qemu.kvm.cpu_out than qemu.kvm.cpu_in count.
>
> I found that cpu_in and cpu_out refer to input and output instructions. I
> wrote a little script tally up the input and output operations on each port
> to run on a qemu on fc15 machine.
>
> It generates output like the following:
>
>
> cpu_in
> port count
> 0x01f7 3000
> 0x03d5 120
> 0xc000 2000
> 0xc002 3000
>
> cpu_out
> port count
> 0x0080 480
> 0x01f1 2000
> 0x01f2 2000
> 0x01f3 2000
> 0x01f4 2000
> 0x01f5 2000
> 0x01f6 2000
> 0x01f7 1000
> 0x03d4 480
> 0x03d5 120
> 0x03f6 1000
> 0xc000 3000
> 0xc002 2000
> 0xc004 1000
> 0xc090 4
>
> Looks like lots of touching the ide device ports (0x01f0-0x01ff) and some vga
> controller (0x03d0-0x3df). This is kind of what would be expected when the
> machine is doing a fsck and selinux relabel on the guest virtual machines.
> Look like some pci device access (http://www.tech-pro.net/intro_pci.html)
> also.
I think the cpu_in/cpu_out tracing script can be useful in identifying
performance problems, especially when obscure guest OSes experience
poor performance due to weird ways of interacting with hardware.
Where are you putting your SystemTap scripts? I suggest creating a
public git repo and adding a link from the QEMU wiki tracing page:
http://wiki.qemu.org/Features/Tracing
Perhaps we could even include them in a contrib/ or similar directory
in qemu.git so that distros can ship them. But before we worry about
that we need a useful set of things that can be observed.
Stefan