From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jz43m-0005sj-7M for qemu-devel@nongnu.org; Thu, 22 May 2008 02:13:54 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jz43j-0005qk-6r for qemu-devel@nongnu.org; Thu, 22 May 2008 02:13:53 -0400 Received: from [199.232.76.173] (port=50364 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jz43i-0005qc-TM for qemu-devel@nongnu.org; Thu, 22 May 2008 02:13:50 -0400 Received: from wa-out-1112.google.com ([209.85.146.176]:56850) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jz43i-0000fy-KT for qemu-devel@nongnu.org; Thu, 22 May 2008 02:13:50 -0400 Received: by wa-out-1112.google.com with SMTP id j5so3775477wah.18 for ; Wed, 21 May 2008 23:13:45 -0700 (PDT) Message-ID: <3000d2e90805212313r3c3fbaf0laabb4074f6cb52e7@mail.gmail.com> Date: Thu, 22 May 2008 09:13:44 +0300 From: "Cheif Jones" Subject: Re: [Qemu-devel] Re: Performance Monitoring In-Reply-To: <5d6222a80805212046l5c3e6f38q381656abf7a1f613@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_9234_10415008.1211436824977" References: <3000d2e90805201156g30050a68ve9187e3b94341e99@mail.gmail.com> <5d6222a80805212046l5c3e6f38q381656abf7a1f613@mail.gmail.com> 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_9234_10415008.1211436824977 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi All, Thanks for all the good advice! I do not have the HW and so I need an emulator. Also the target arch is not x86, it has to be some RISC (ARM, PPC). I would like to run an OS, say Linux, and take a sample for a small period of time (seconds) while some app(s) are running and get a list of opcode names and how many times they were executed. I'm not interested in CPI at the moment. Vince, I briefly read your paper and went through the patch . It is very interesting and maybe i can use it for what i need. Questions: - Is there a 1-1 correspondence between a BBV and a target CPU opcode? - If i use the QEMU to generate BBVs, and the other tools you mentioned that gets BBV as input, will i be able to see the opcode name (and not just a uniqe ID that goes with BBV) - Paul mentioned "With either alternative you'll still have issues with exceptions. MMU faults abort a TB early, so will screw up your statistics. One possibility is to terminate a TB on every memory access, like we do for watchpoints." - is this an issue addressed by your patch? Thanks, Chief - - On 5/22/08, Glauber > > > >> is compiled JIT and runs natively). > > > > Is an actual emulator necessary, or could you use something like an > > instrumented UML kernel? I'd think that would be a much simpler approach. > > > Since he claims to need opcode statistics, and UML won't trap any > instruction but the privileged ones, does not seem feasible. > > > -- > Glauber Costa. > "Free as in Freedom" > http://glommer.net > > "The less confident you are, the more serious you have to act." > > > ------=_Part_9234_10415008.1211436824977 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi All,

Thanks for all the good advice!

I do not have the HW and so I need an emulator. Also the target arch is not x86, it has to be some RISC (ARM, PPC).

I would like to run an OS, say Linux, and take a sample for a small period of time (seconds) while some app(s) are running and get a list of opcode names and how many times they were executed. I'm not interested in CPI at the moment.

Vince, I briefly read your paper and went through the patch . It is very interesting and maybe i can use it for what i need. Questions:
  • Is there a 1-1 correspondence between a BBV and a target CPU opcode?
  • If i use the QEMU to generate BBVs, and the other tools you mentioned that gets BBV as input, will i be able to see the opcode name (and not just a uniqe ID that goes with BBV)
  • Paul mentioned "With either alternative you'll still have issues with exceptions. MMU faults abort a TB early, so will screw up your statistics. One possibility is to terminate a TB on every memory access, like we do for watchpoints." - is this an issue addressed by your patch?
Thanks,
Chief




On 5/22/08, Glauber

>> is compiled JIT and runs natively).
>
> Is an actual emulator necessary, or could you use something like an
> instrumented UML kernel? I'd think that would be a much simpler approach.


Since he claims to need opcode statistics, and UML won't trap any
instruction but the privileged ones, does not seem feasible.


--
Glauber Costa.
"Free as in Freedom"
http://glommer.net

"The less confident you are, the more serious you have to act."



------=_Part_9234_10415008.1211436824977--