From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IkTFf-0006Kx-4U for qemu-devel@nongnu.org; Tue, 23 Oct 2007 19:33:35 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IkTFe-0006Jo-Ml for qemu-devel@nongnu.org; Tue, 23 Oct 2007 19:33:34 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IkTFe-0006JQ-6B for qemu-devel@nongnu.org; Tue, 23 Oct 2007 19:33:34 -0400 Received: from rv-out-0910.google.com ([209.85.198.191]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IkTFd-0005sK-Sn for qemu-devel@nongnu.org; Tue, 23 Oct 2007 19:33:34 -0400 Received: by rv-out-0910.google.com with SMTP id g11so67190rvb for ; Tue, 23 Oct 2007 16:33:32 -0700 (PDT) Message-ID: Date: Tue, 23 Oct 2007 16:33:05 -0700 From: "Atoosaah S" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_1739_6298154.1193182385070" Subject: [Qemu-devel] Trying to Understand QEMU's Low Level Functionality ... 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 ------=_Part_1739_6298154.1193182385070 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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? thank you, atoosaah On 10/12/07, Atoosaah wrote: > > I'd appreciate any input on how to run gprof successfully on qemu. I'm new > to gprof and am probably missing some steps. I successfully ran gprof on a > sorting program available online, then I attempted to run gprof on qemu. > > Here are the steps I take: > > I'm trying to run gprof on qemu, but am unsuccessful. my os is linux, my > qemu version is 0.8.2. I configure qemu with the options "configure > --prefix=/install_path --enable-gprof. Then I make and make install. I run > qemu successfully using the options /install_path/qemu -hda diskimage.img-m 256 which results in the > gmon.out file. My run of qemu involved starting the image (virtual linux > OS), running a few simple commands and shutting the image down. > > Finally, I run gprof /intsall_path/qemu gmon.out > result.txt which gives > the error: gprof: file 'qemu' has no symbols' > > Are there any other configuration options required? Should the image be > run with differently? > > > thank you, > atoosaah > ------=_Part_1739_6298154.1193182385070 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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?

thank you,
atoosaah




On 10/12/07, Atoosaah wrote:
I'd appreciate any input on how to run gprof successfully on qemu. I'm new to gprof and am probably missing some steps.  I successfully ran gprof on a sorting program available online, then I attempted to run gprof on qemu.

Here are the steps I take:

I'm trying to run gprof on qemu, but am unsuccessful. my os is linux, my qemu version is 0.8.2. I configure qemu with the options "configure --prefix=/install_path --enable-gprof. Then I make and make install. I run qemu successfully using the options /install_path/qemu -hda diskimage.img -m 256 which results in the gmon.out file. My run of qemu involved starting the image (virtual linux OS), running a few simple commands and shutting the image down.

Finally, I run gprof /intsall_path/qemu gmon.out > result.txt which gives the error: gprof: file 'qemu' has no symbols'

Are there any other configuration options required? Should the image be run with differently?


thank you,
atoosaah

------=_Part_1739_6298154.1193182385070--