This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [Qemu-devel] Using the qemu tracepoints with SystemTap
On Tue, Sep 13, 2011 at 8:38 PM, William Cohen <wcohen@redhat.com> 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