---------- Forwarded message ----------
From: Peter Teoh <[email protected]>
Date: 2009/4/13
Subject: Re: Fw: systemtap on network I/O tracing under the KVM environment
To: zshan <[email protected]>
Cc: ananth <[email protected]>, acme <[email protected]>


based a simplified stap script (which breakpoints everything):

probe module("kvm").function("kv...@virt/kvm/*.c").call {
 printf ("%s -> %s\n", thread_indent(1), probefunc())
 print_backtrace();
}
probe module("kvm").function("kv...@arch/x86/kvm/*.c").call {
 printf ("%s -> %s\n", thread_indent(1), probefunc())
 print_backtrace();
}

I got the following trace (while logging into the kvm-modified guest
qemu - which is FC9, and host OS is FC10):

 0xffffffffa01ce982 : kvm_arch_vcpu_load+0x1/0x32 [kvm]
 0xffffffffa01cd0fa : vcpu_load+0x35/0x3a [kvm] (inexact)
 0xffffffffa01cd1b4 : kvm_vcpu_block+0xb5/0xd1 [kvm] (inexact)
 0xffffffffa01d3681 : kvm_arch_vcpu_ioctl_run+0x831/0xa2c [kvm] (inexact)
 0xffffffffa01ccd7c : kvm_vm_ioctl+0x857/0x882 [kvm] (inexact)
 0xffffffffa01ca623 : kvm_vcpu_ioctl+0xfb/0x617 [kvm] (inexact)
  128 qemu-system-x86(11252):  -> kvm_cpu_has_interrupt
 0xffffffffa01e1594 : kvm_cpu_has_interrupt+0x1/0x40 [kvm]
 0xffffffffa01cd165 : kvm_vcpu_block+0x66/0xd1 [kvm] (inexact)
 0xffffffffa01d3681 : kvm_arch_vcpu_ioctl_run+0x831/0xa2c [kvm] (inexact)
 0xffffffffa01ccd7c : kvm_vm_ioctl+0x857/0x882 [kvm] (inexact)
 0xffffffffa01ca623 : kvm_vcpu_ioctl+0xfb/0x617 [kvm] (inexact)
  243 qemu-system-x86(11252):   -> kvm_cpu_has_pending_timer
 0xffffffffa01e15d4 : kvm_cpu_has_pending_timer+0x1/0x29 [kvm]
 0xffffffffa01cd171 : kvm_vcpu_block+0x72/0xd1 [kvm] (inexact)
 0xffffffffa01d3681 : kvm_arch_vcpu_ioctl_run+0x831/0xa2c [kvm] (inexact)
 0xffffffffa01ccd7c : kvm_vm_ioctl+0x857/0x882 [kvm] (inexact)
 0xffffffffa01ca623 : kvm_vcpu_ioctl+0xfb/0x617 [kvm] (inexact)
  357 qemu-system-x86(11252):    -> kvm_inject_pending_timer_irqs

<snip>

 1027 qemu-system-x86(11252):          -> kvm_mmu_page_fault
 0xffffffffa01d8e75 : kvm_mmu_page_fault+0x1/0x8b [kvm]
 0xffffffffa01fa72b : __kvm_migrate_pit_timer+0x16c9d/0x0 [kvm] (inexact)
 0xffffffffa01fab1b : __kvm_migrate_pit_timer+0x1708d/0x0 [kvm] (inexact)
 0xffffffffa01d365e : kvm_arch_vcpu_ioctl_run+0x80e/0xa2c [kvm] (inexact)
 0xffffffffa01ccd7c : kvm_vm_ioctl+0x857/0x882 [kvm] (inexact)
 0xffffffffa01ca623 : kvm_vcpu_ioctl+0xfb/0x617 [kvm] (inexact)
 1151 qemu-system-x86(11252):           -> kvm_read_guest
 0xffffffffa01cb8be : kvm_read_guest+0x1/0x83 [kvm]
 0xffffffffa01d97a3 : paging32_walk_addr+0xad/0x24f [kvm] (inexact)
 0xffffffffa01d9a09 : paging32_page_fault+0x73/0x424 [kvm] (inexact)
 0xffffffffa0201950 : __kvm_migrate_pit_timer+0x1dec2/0x0 [kvm] (inexact)
 0xffffffffa01d8e93 : kvm_mmu_page_fault+0x1f/0x8b [kvm] (inexact)
 0xffffffffa01fa72b : __kvm_migrate_pit_timer+0x16c9d/0x0 [kvm] (inexact)
 0xffffffffa01fab1b : __kvm_migrate_pit_timer+0x1708d/0x0 [kvm] (inexact)
 0xffffffffa01d365e : kvm_arch_vcpu_ioctl_run+0x80e/0xa2c [kvm] (inexact)
 0xffffffffa01ccd7c : kvm_vm_ioctl+0x857/0x882 [kvm] (inexact)
 0xffffffffa01ca623 : kvm_vcpu_ioctl+0xfb/0x617 [kvm] (inexact)
 1322 qemu-system-x86(11252):            -> kvm_read_guest
 0xffffffffa01cb8be : kvm_read_guest+0x1/0x83 [kvm]
 0xffffffffa01d97a3 : paging32_walk_addr+0xad/0x24f [kvm] (inexact)
 0xffffffffa01d9a09 : paging32_page_fault+0x73/0x424 [kvm] (inexact)
 0xffffffffa0201950 : __kvm_migrate_pit_timer+0x1dec2/0x0 [kvm] (inexact)
 0xffffffffa01d8e93 : kvm_mmu_page_fault+0x1f/0x8b [kvm] (inexact)
 0xffffffffa01fa72b : __kvm_migrate_pit_timer+0x16c9d/0x0 [kvm] (inexact)
 0xffffffffa01fab1b : __kvm_migrate_pit_timer+0x1708d/0x0 [kvm] (inexact)
 0xffffffffa01d365e : kvm_arch_vcpu_ioctl_run+0x80e/0xa2c [kvm] (inexact)
 0xffffffffa01ccd7c : kvm_vm_ioctl+0x857/0x882 [kvm] (inexact)
 0xffffffffa01ca623 : kvm_vcpu_ioctl+0xfb/0x617 [kvm] (inexact)
 1487 qemu-system-x86(11252):             -> kvm_read_guest_page
 0xffffffffa01cb865 : kvm_read_guest_page+0x1/0x59 [kvm]
 0xffffffffa01cb8fe : kvm_read_guest+0x41/0x83 [kvm] (inexact)
 0xffffffffa01d97a3 : paging32_walk_addr+0xad/0x24f [kvm] (inexact)
 0xffffffffa01d9a09 : paging32_page_fault+0x73/0x424 [kvm] (inexact)
 0xffffffffa0201950 : __kvm_migrate_pit_timer+0x1dec2/0x0 [kvm] (inexact)
 0xffffffffa01d8e93 : kvm_mmu_page_fault+0x1f/0x8b [kvm] (inexact)
 0xffffffffa01fa72b : __kvm_migrate_pit_timer+0x16c9d/0x0 [kvm] (inexact)
 0xffffffffa01fab1b : __kvm_migrate_pit_timer+0x1708d/0x0 [kvm] (inexact)
 0xffffffffa01d365e : kvm_arch_vcpu_ioctl_run+0x80e/0xa2c [kvm] (inexact)
 0xffffffffa01ccd7c : kvm_vm_ioctl+0x857/0x882 [kvm] (inexact)
 0xffffffffa01ca623 : kvm_vcpu_ioctl+0xfb/0x617 [kvm] (inexact)
 1664 qemu-system-x86(11252):              -> kvm_read_guest_page

etc etc.

Steps to reproduce are as follows:

1.   download kvm-84, compile.   the binaries qemu-* are actually
kvm-84's modified version of the original qemu.

2.   compile linus git tree's kvm kernel module.   then modprobe kvm.

3.   qemu-img create -f qcow fc9_vdisk.img 10G

4.   qemu-system-x86_64 -hda fc9_vdisk.img -cdrom
/sdb2/download/iso/Fedora-9-i386-DVD.iso ===> then install FC9.

5.   qemu-system-x86_64 -hda fc9_vdisk.img ===> after installation,
reboot the guest fc9 this way.

6.   Because kvm.ko is running in the host OS, just stap the  commands
above in the host OS, and u should get the above tracing.

It clearly shows the path the host OS is taking to reroute to kvm.ko.



2009/4/9 zshan <[email protected]>:
> I would be appreciate if anyone can help me?
>
> 2009-04-09
> ________________________________
> zshan
> ________________________________
> 发件人: zshan
> 发送时间: 2009-04-09 23:00:25
> 收件人: systemtap
> 抄送: [email protected]; Mark Wielaard; Roland McGrath
> 主题: systemtap on network I/O tracing under the KVM environment
>
> hi:
>   what I meant path tracing is that we want to get the ingressing path of a
> packet under the environment of KVM (Kernel based Virtual Machine ), what we
> want to know exactly is the ingressing path of a packet from the host
> machine to the virtual machine ,
> ps: KVM used Qemu to process its network I/O , which is actually a process
> in the host OS.
>   Any ideas?
>   Thank you very much~
>
> 2009-04-09
> ________________________________
> zshan



--
Regards,
Peter Teoh



-- 
Regards,
Peter Teoh

Reply via email to