From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Hajnoczi Subject: Re: Tracing KVM with Systemtap Date: Tue, 21 Sep 2010 14:33:53 +0100 Message-ID: References: <1283952030.2631.19.camel@computer> <1284988762.2500.13.camel@computer> <1285073887.2566.39.camel@computer> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org, systemtap@sources.redhat.com, Prerna Saxena To: Rayson Ho Return-path: Received: from mail-pz0-f46.google.com ([209.85.210.46]:59137 "EHLO mail-pz0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752030Ab0IUNdy convert rfc822-to-8bit (ORCPT ); Tue, 21 Sep 2010 09:33:54 -0400 Received: by mail-pz0-f46.google.com with SMTP id 34so1409163pzk.19 for ; Tue, 21 Sep 2010 06:33:54 -0700 (PDT) In-Reply-To: <1285073887.2566.39.camel@computer> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, Sep 21, 2010 at 1:58 PM, Rayson Ho wrote: > On Mon, 2010-09-20 at 14:36 +0100, Stefan Hajnoczi wrote: >> Right now there are few pre-defined probes ("trace events" in QEMU >> tracing speak). =A0As I develop I try to be mindful of new ones I cr= eate >> and whether they would be generally useful. =A0I intend to contribut= e >> more probes and hope others will too! > > I am still looking at/hacking the QEMU code. I have looked at the > following places in the code that I think can be useful to have > statistics gathered: > > net.c qemu_deliver_packet(), etc - network statistics Yes. > /op_helper.c global_cpu_lock(), tlb_fill() - lock & unlock, > and TLB refill statistics These are not relevant to KVM, they are only used when running with KVM disabled (TCG mode). > balloon.c, hw/virtio-balloon.c - ballooning information. Prerna added a balloon event which is in qemu.git trace-events. Does that one do what you need? > I will see what other probes are useful for the end users. Also, are > there developer documentations for KVM? (I googled but found a lot of > presentations about KVM but not a lot of info about the internals.) Not really. I suggest grabbing the source and following vl.c:main() to the main KVM execution code. Stefan