Minimum Count Different than Stated in --list-events

View: New views
4 Messages — Rating Filter:   Alert me  

Minimum Count Different than Stated in --list-events

by Henry DeYoung :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I'm trying to use OProfile as part of a class project with another
graduate student on cache behavior of Haskell programs.  I've never used
OProfile before and so I'm in the process of becoming familiar with it.


If I do

    opcontrol --list-events

I see that one event for my Core 2 processor is CPU_CLK_UNHALTED with a
minimum count of 6000.  However, if I try

    sudo opcontrol --setup --event=CPU_CLK_UNHALTED:6000

it complains that:

    Count 6000 for event CPU_CLK_UNHALTED is below the minimum 90000

Of course, it lets me do

    sudo opcontrol --setup --event=CPU_CLK_UNHALTED:90000

but then the samples are very small for a single program run.  This is
more of a problem when it will not let me do

    sudo opcontrol --setup --event=L2_RQSTS:6000:0xc1:1:1

to measure the L2 cache misses since there are fewer cache miss events
than unhalted clock cycles.


Why is OProfile requiring a minimum count of 90,000 when the minimum
stated in --list-events is 6000?


I appreciate any help you can give with this.

Thanks!

Henry


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
oprofile-list mailing list
oprofile-list@...
https://lists.sourceforge.net/lists/listinfo/oprofile-list

Re: Minimum Count Different than Stated in --list-events

by William Cohen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Henry DeYoung wrote:

> Hi,
>
> I'm trying to use OProfile as part of a class project with another
> graduate student on cache behavior of Haskell programs.  I've never used
> OProfile before and so I'm in the process of becoming familiar with it.
>
>
> If I do
>
>     opcontrol --list-events
>
> I see that one event for my Core 2 processor is CPU_CLK_UNHALTED with a
> minimum count of 6000.  However, if I try
>
>     sudo opcontrol --setup --event=CPU_CLK_UNHALTED:6000
>
> it complains that:
>
>     Count 6000 for event CPU_CLK_UNHALTED is below the minimum 90000
>
> Of course, it lets me do
>
>     sudo opcontrol --setup --event=CPU_CLK_UNHALTED:90000
>
> but then the samples are very small for a single program run.

One thing that might be happening is that haskell is using shared libraries and
most of the time is spent in those other shared libraries.  You might want to
add the following to the --setup:

--separate=library

Do you have a back of the envelope estimate of how many clock cycles you expect
for the program? For example if the processor is a 2GHz processor and the
/usr/bin/time says that it takes total of 1 second of user and system time then
would expect something around:

22,000samples = 2e9 clocks/s * 1s / (90,000 clk/sample)


  This is

> more of a problem when it will not let me do
>
>     sudo opcontrol --setup --event=L2_RQSTS:6000:0xc1:1:1
>
> to measure the L2 cache misses since there are fewer cache miss events
> than unhalted clock cycles.
>
>
> Why is OProfile requiring a minimum count of 90,000 when the minimum
> stated in --list-events is 6000?

What version of oprofile are you using? On oprofile 0.9.5 on fedora.

$ ophelp -c i386/core_2|more
oprofile: available events for CPU type "Core 2"

See Intel Architecture Developer's Manual Volume 3B, Appendix A and
Intel Architecture Optimization Reference Manual (730795-001)

CPU_CLK_UNHALTED: (counter: all))
        Clock cycles when not halted (min count: 6000)
        Unit masks (default 0x0)
        ----------
        0x00: Unhalted core cycles
        0x01: Unhalted bus cycles
        0x02: Unhalted bus cycles of this core while the other core is halted
...

That message "below the minimum..." is coming from ophelp. Is it possible that
you have two versions of oprofile in use/installed? so that opcontrol and ophelp
commands are from different places? opcontrol is looking for ophelp in the same
directory, and ophelp looks in specific directories for the event information.

-Will

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
oprofile-list mailing list
oprofile-list@...
https://lists.sourceforge.net/lists/listinfo/oprofile-list

Re: Minimum Count Different than Stated in --list-events

by Henry DeYoung :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, October 27, 2009 2:24 pm, William Cohen wrote:
> Do you have a back of the envelope estimate of how many clock cycles you
> expect for the program? For example if the processor is a 2GHz processor
> and the /usr/bin/time says that it takes total of 1 second of user and
> system time then would expect something around:
>
> 22,000samples = 2e9 clocks/s * 1s / (90,000 clk/sample)

Yes, the number of samples I get does match the back of the envelope
calculation. So, the results of measuring the *clock cycles* seem
reasonable now.  However, measuring L2_RQSTS:90000:0xc1:1:1 leads to far
too few samples (18) since there are fewer cache miss events than clock
cycle events.


>> This is more of a problem when it will not let me do
>>
>> sudo opcontrol --setup --event=L2_RQSTS:6000:0xc1:1:1
>>
>> to measure the L2 cache misses since there are fewer cache miss events
>> than unhalted clock cycles.
>>
>>
>> Why is OProfile requiring a minimum count of 90,000 when the minimum
>> stated in --list-events is 6000?
>
> What version of oprofile are you using?

$ opcontrol --version
opcontrol: oprofile 0.9.2 compiled on Mar 23 2007 14:37:32


> On oprofile 0.9.5 on fedora.
>
>
> $ ophelp -c i386/core_2|more
> oprofile: available events for CPU type "Core 2"
>
>
> See Intel Architecture Developer's Manual Volume 3B, Appendix A and
> Intel Architecture Optimization Reference Manual (730795-001)
>
>
> CPU_CLK_UNHALTED: (counter: all))
> Clock cycles when not halted (min count: 6000)
> Unit masks (default 0x0)
> ----------
> 0x00: Unhalted core cycles
> 0x01: Unhalted bus cycles
> 0x02: Unhalted bus cycles of this core while the other core is halted
> ...

Yes, this is the same message I get from --list-events.

> That message "below the minimum..." is coming from ophelp. Is it possible
> that you have two versions of oprofile in use/installed? so that opcontrol
> and ophelp commands are from different places? opcontrol is looking for
> ophelp in the same directory, and ophelp looks in specific directories for
> the event information.

The machine is maintained by the computer facilities group at my
university; oprofile was already installed on the machine. However, both
opcontrol and ophelp are in the same place (/usr/bin) and there appear to
be no other versions installed elsewhere on the machine.  So that doesn't
seem to be the problem.  Do you have any other suggestions?

Thanks again for your help!

Henry



------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
oprofile-list mailing list
oprofile-list@...
https://lists.sourceforge.net/lists/listinfo/oprofile-list

Re: Minimum Count Different than Stated in --list-events

by Maynard Johnson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Henry DeYoung wrote:

> On Tue, October 27, 2009 2:24 pm, William Cohen wrote:
>> Do you have a back of the envelope estimate of how many clock cycles you
>> expect for the program? For example if the processor is a 2GHz processor
>> and the /usr/bin/time says that it takes total of 1 second of user and
>> system time then would expect something around:
>>
>> 22,000samples = 2e9 clocks/s * 1s / (90,000 clk/sample)
>
> Yes, the number of samples I get does match the back of the envelope
> calculation. So, the results of measuring the *clock cycles* seem
> reasonable now.  However, measuring L2_RQSTS:90000:0xc1:1:1 leads to far
> too few samples (18) since there are fewer cache miss events than clock
> cycle events.
You must have passed in a non-zero value for --callgraph option.  When doing callgraph profiling, oprofile requires that the sample count be at least 15 times the minimum.  15x6000 = 90,000.

'opcontrol --status' will show you if callgraph is currently set.  To reset it, make sure the oprofile daemon is stopped ('opcontrol --shutdown'), then do 'opcontrol --callgraph=0'.  Now you can re-run your profile and use L2_RQSTS:6000.

-Maynard

>
>
>>> This is more of a problem when it will not let me do
>>>
>>> sudo opcontrol --setup --event=L2_RQSTS:6000:0xc1:1:1
>>>
>>> to measure the L2 cache misses since there are fewer cache miss events
>>> than unhalted clock cycles.
>>>
>>>
>>> Why is OProfile requiring a minimum count of 90,000 when the minimum
>>> stated in --list-events is 6000?
>> What version of oprofile are you using?
>
> $ opcontrol --version
> opcontrol: oprofile 0.9.2 compiled on Mar 23 2007 14:37:32
>
>
>> On oprofile 0.9.5 on fedora.
>>
>>
>> $ ophelp -c i386/core_2|more
>> oprofile: available events for CPU type "Core 2"
>>
>>
>> See Intel Architecture Developer's Manual Volume 3B, Appendix A and
>> Intel Architecture Optimization Reference Manual (730795-001)
>>
>>
>> CPU_CLK_UNHALTED: (counter: all))
>> Clock cycles when not halted (min count: 6000)
>> Unit masks (default 0x0)
>> ----------
>> 0x00: Unhalted core cycles
>> 0x01: Unhalted bus cycles
>> 0x02: Unhalted bus cycles of this core while the other core is halted
>> ...
>
> Yes, this is the same message I get from --list-events.
>
>> That message "below the minimum..." is coming from ophelp. Is it possible
>> that you have two versions of oprofile in use/installed? so that opcontrol
>> and ophelp commands are from different places? opcontrol is looking for
>> ophelp in the same directory, and ophelp looks in specific directories for
>> the event information.
>
> The machine is maintained by the computer facilities group at my
> university; oprofile was already installed on the machine. However, both
> opcontrol and ophelp are in the same place (/usr/bin) and there appear to
> be no other versions installed elsewhere on the machine.  So that doesn't
> seem to be the problem.  Do you have any other suggestions?
>
> Thanks again for your help!
>
> Henry
>
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> oprofile-list mailing list
> oprofile-list@...
> https://lists.sourceforge.net/lists/listinfo/oprofile-list


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
oprofile-list mailing list
oprofile-list@...
https://lists.sourceforge.net/lists/listinfo/oprofile-list