From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IkWor-0003e3-2o for qemu-devel@nongnu.org; Tue, 23 Oct 2007 23:22:09 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IkWoo-0003bh-IA for qemu-devel@nongnu.org; Tue, 23 Oct 2007 23:22:07 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IkWoo-0003be-Fa for qemu-devel@nongnu.org; Tue, 23 Oct 2007 23:22:06 -0400 Received: from wx-out-0506.google.com ([66.249.82.234]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IkWon-0003tC-UY for qemu-devel@nongnu.org; Tue, 23 Oct 2007 23:22:06 -0400 Received: by wx-out-0506.google.com with SMTP id h31so67053wxd for ; Tue, 23 Oct 2007 20:22:00 -0700 (PDT) Message-ID: Date: Wed, 24 Oct 2007 07:22:00 +0400 From: "Igor Kovalenko" Subject: Re: [Qemu-devel] Trying to Understand QEMU's Low Level Functionality ... In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On 10/24/07, Atoosaah S wrote: > I'm using qemu version 0.8.2 on linux. > > I'm currently successful in creating the result.txt (with the command: prof > /intsall_path/qemu gmon.out > result.txt), but the call graph created does > not show my functions of interest. > > For example i'm trying to understand the sequence of calls qemu makes to > read/write from the disk image. Using print statements i see the function > ide_read_dma_cb (from hw directory, file ide.c) being called; as well as > bdrv_read from (qemu root directory, file block.c). The only ide function i > see in result.txt is ide_init2 and ide_init_ioport, and the only bdrv type > functions are bdrv_open2 and bdrv_new. But, listing the symbol table via > "nm" on qemu, does display my functions of interest ( i.e. bdrv_read, > bdrv_write, ...). I should see these functions in the gprof result since, > for example, they are executed frequently (during OS bootup, and > writting/reading to/from a sample large file) > > 1. Why am I only seeing specific low level functions in the call graph? > 2. Is there a more clear way of finding out how (i.e. sequence of calls) > qemu make to write to the disk image? Try valgrind instead? valgrind --tool=callgrind --smc-check=all -v -- Kind regards, Igor V. Kovalenko