Paul Clayton
2008-Dec-11 05:53 UTC
[dtrace-discuss] How to tell FPU activity on a CMT processor? Which tool, what to look at?
Okay, I admit to confusion and a certain amount of defeat. I have numerous T2000 boxes and I want to see how much floating point activity is taking place on them in order to tell if I should move applications to a T2 based box. So I go looking around. First up is the cooltst application from http://cooltools.sunsource.net/cooltst/ which I try to download. All I can get is a Zip file instead of the cooltst_v3.tar.bz2 file mentioned in the download section of the page. So the question here is how/where to get a version of cooltst that runs on a T2000? Next up is other mechanisms to get FPU info. So I go searching the web and find Darryl Gove''s web page of http://blogs.sun.com/d/entry/using_dtrace_to_locate_floating that talks to using kstat and dtrace to look for ''fpu_unfinished_traps''. So I use both kstat and dtrace options that Darryl mentions and both options come up with zero (0) counts! So I start wondering about the count actually being zero and go looking some more. Then I find, http://www.informit.com/articles/article.aspx?p=1161980&seqNum=3 and read through section 4.3.8 where is mentions "One of the metrics that kstat reports is the number of emulated floating-point instructions. Not all floating-point operations are performed in hardware; some have been left to software.". So now I am wondering if there is any pure hardware based FPU transactions taking place that would NOT show up in the ''fpu_unfinished_traps'' counts on a CMT T1 chip based server? And if so, how do I find out about those operations? So, the question is, lacking cooltst that I can get which is usable on a T2000, what is the full story on floating point math on a CMT and where/how can data about it''s usage be gotten? My thanks for any and all help in this! pdc -- This message posted from opensolaris.org
Rayson Ho
2008-Dec-11 06:11 UTC
[dtrace-discuss] How to tell FPU activity on a CMT processor? Which tool, what to look at?
On 12/11/08, Paul Clayton <Paul.D.Clayton at lmco.com> wrote:> Next up is other mechanisms to get FPU info. > > So I go searching the web and find Darryl Gove''s web page of http://blogs.sun.com/d/entry/using_dtrace_to_locate_floating that talks to using kstat and dtrace to look for ''fpu_unfinished_traps''. So I use both kstat and dtrace options that Darryl mentions and both options come up with zero (0) counts!Take a look at this doc: http://www.sun.com/blueprints/1205/819-5144.pdf> So now I am wondering if there is any pure hardware based FPU transactions taking place that would NOT show up in the ''fpu_unfinished_traps'' counts on a CMT T1 chip based server? And if so, how do I find out about those operations?You can read the full micro architecture of the T1, specifically "OpenSPARC T1 Micro Architecture Specification", chapter 7: Floating-Point Unit. http://www.opensparc.net/opensparc-t1/index.html Rayson> > So, the question is, lacking cooltst that I can get which is usable on a T2000, what is the full story on floating point math on a CMT and where/how can data about it''s usage be gotten? > > My thanks for any and all help in this! > > pdc > -- > This message posted from opensolaris.org > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org >
Clayton, Paul D
2008-Dec-11 07:11 UTC
[dtrace-discuss] How to tell FPU activity on a CMT processor? Which tool, what to look at?
Rayson.. My thanks for the pointers to the two documents. Very interesting reading. For the emulated instructions, I now have my answers to tell what is happening. In the case currently under investigation the only emulation is FSQRTD and that stands at 884K but is not currently growing so some other app then the one in question use FSQRTD. But in reading the T1 specification, there appears to be a lot of FPU ''stuff'' that takes place within the single instance FPU with no emulation. So part of my question remains. How can I find out about FPU usage for non-emulated instructions on a T1 chipset? I have to wonder about the command "/usr/sbin/cpustat -c pic0=FP_instr_cnt,pic1=Instr_cnt,sys 1 10" and if this would deal with hardware based FPU usage or is another option for the emulated functions? The document does not provide a clear hint on this subject. Take care. pdc -----Original Message----- From: Rayson Ho [mailto:rayrayson at gmail.com] Sent: Thursday, December 11, 2008 1:12 AM To: Clayton, Paul D Cc: dtrace-discuss at opensolaris.org Subject: Re: [dtrace-discuss] How to tell FPU activity on a CMT processor? Which tool, what to look at? On 12/11/08, Paul Clayton <Paul.D.Clayton at lmco.com> wrote:> Next up is other mechanisms to get FPU info. > > So I go searching the web and find Darryl Gove''s web page ofhttp://blogs.sun.com/d/entry/using_dtrace_to_locate_floating that talks to using kstat and dtrace to look for ''fpu_unfinished_traps''. So I use both kstat and dtrace options that Darryl mentions and both options come up with zero (0) counts! Take a look at this doc: http://www.sun.com/blueprints/1205/819-5144.pdf> So now I am wondering if there is any pure hardware based FPUtransactions taking place that would NOT show up in the ''fpu_unfinished_traps'' counts on a CMT T1 chip based server? And if so, how do I find out about those operations? You can read the full micro architecture of the T1, specifically "OpenSPARC T1 Micro Architecture Specification", chapter 7: Floating-Point Unit. http://www.opensparc.net/opensparc-t1/index.html Rayson> > So, the question is, lacking cooltst that I can get which is usable ona T2000, what is the full story on floating point math on a CMT and where/how can data about it''s usage be gotten?> > My thanks for any and all help in this! > > pdc > -- > This message posted from opensolaris.org > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org >
Chad Mynhier
2008-Dec-11 13:15 UTC
[dtrace-discuss] How to tell FPU activity on a CMT processor? Which tool, what to look at?
On Thu, Dec 11, 2008 at 2:11 AM, Clayton, Paul D <paul.d.clayton at lmco.com> wrote:> > So part of my question remains. > > How can I find out about FPU usage for non-emulated instructions on a T1 > chipset? > > I have to wonder about the command "/usr/sbin/cpustat -c > pic0=FP_instr_cnt,pic1=Instr_cnt,sys 1 10" and if this would deal with > hardware based FPU usage or is another option for the emulated > functions? The document does not provide a clear hint on this subject.cpustat(1M) accesses the CPU performance counters, so it''s going to tell you what''s happening on the hardware, not what''s being emulated in software. Chad