William Cohen | 22 May 21:14 2015
Picon

[PATCH] Correctly track the size of operf poll_data array

The new[] operator in C++ returns a pointer to a block of memory
allocated for an array of objects.  If the sizeof operator is used on
the value returned by new[], the sizeof operator will return the space
required for the pointer rather than the space required for the
array. Thus, the following code will not correctly count the number of
elements in the array:

	struct pollfd * poll_data;
	poll_data = new struct pollfd [100];
	num_mmaps = sizeof(poll_data)/sizeof(poll_data[0]);

To properly track the size of the dynamically allocated poll_data
array a num_mmaps field has been added to the operf_record class.

Signed-off-by: William Cohen <wcohen <at> redhat.com>
---
 libperf_events/operf_counter.cpp | 5 ++---
 libperf_events/operf_counter.h   | 1 +
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libperf_events/operf_counter.cpp b/libperf_events/operf_counter.cpp
index 42c0cd1..d5fe8a5 100644
--- a/libperf_events/operf_counter.cpp
+++ b/libperf_events/operf_counter.cpp
 <at>  <at>  -336,6 +336,7  <at>  <at>  operf_record::operf_record(int out_fd, bool sys_wide, pid_t the_pid, bool pid_ru
 	evts = events;
 	valid = false;
 	poll_data = NULL;
+	num_mmaps = 0;
 	output_fd = out_fd;
(Continue reading)

Andrew Haley | 12 May 19:40 2015
Picon

operf evil memory consumption

I was surprised to see this:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1968 aph       20   0 7657600 1.675g  13184 S 754.0 10.5  73:01.82 java
 1970 aph       20   0 7533760 7.180g   4288 S  36.8 45.1   3:28.73 operf

The RSS of operf really is extreme.  Is it that it keeps all samples
in memory, or somesuch?

Thanks,
Andrew.

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
Max Filippov | 12 May 14:27 2015
Picon

[PATCH] Add support for Xtensa architecture

Signed-off-by: Max Filippov <jcmvbkbc <at> gmail.com>
---
 libperf_events/operf_utils.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h
index 32954cc..ad7e961 100644
--- a/libperf_events/operf_utils.h
+++ b/libperf_events/operf_utils.h
 <at>  <at>  -190,4 +190,10  <at>  <at>  void op_release_resources(void);
 #define cpu_relax()    rmb()
 #endif

+#ifdef __xtensa__
+#include <asm/unistd.h>
+#define rmb()		asm volatile("" ::: "memory")
+#define cpu_relax()	asm volatile("" ::: "memory")
+#endif
+
 #endif // OPERF_H_
--

-- 
1.8.1.4

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
(Continue reading)

Farhan Shariff | 11 May 16:19 2015
Picon

Function tracing

Hello,

I want to know if it is possible to record function names their input and output paramters using oprofile.


Thanks in advance

Best regards

--
Farhan Shariff
ESIGELEC Rouen, France
Mob : +31 619084549
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list
蒋雄伟(蒋冲 | 7 May 06:13 2015

答复: oprofile-list Digest, Vol 108, Issue 1

When and how is the oprofile_setup,
oprofile_start,oprofile_stop,oprofile_shutdown method is called ?

-----邮件原件-----
发件人: oprofile-list-request <at> lists.sourceforge.net
[mailto:oprofile-list-request <at> lists.sourceforge.net] 
发送时间: 2015年5月5日 10:50
收件人: oprofile-list <at> lists.sourceforge.net
主题: oprofile-list Digest, Vol 108, Issue 1

Send oprofile-list mailing list submissions to
	oprofile-list <at> lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.sourceforge.net/lists/listinfo/oprofile-list
or, via email, send a message with subject or body 'help' to
	oprofile-list-request <at> lists.sourceforge.net

You can reach the person managing the list at
	oprofile-list-owner <at> lists.sourceforge.net

When replying, please edit your Subject line so it is more specific than
"Re: Contents of oprofile-list digest..."

Today's Topics:

   1. Re: Does oprofile suffer from aliasing? (William Cohen)
   2. Perf event setup failed (Mike Accola)
   3. Re: Perf event setup failed (Michael Petlan)
   4. Error cross compiling oprofile (Paul Fine)

----------------------------------------------------------------------

Message: 1
Date: Thu, 30 Apr 2015 14:18:19 -0400
From: William Cohen <wcohen <at> redhat.com>
Subject: Re: Does oprofile suffer from aliasing?
To: Grant Edwards <grant.b.edwards <at> gmail.com>,
	oprofile-list <at> lists.sf.net
Message-ID: <554271EB.10407 <at> redhat.com>
Content-Type: text/plain; charset=windows-1252

On 04/30/2015 12:43 PM, Grant Edwards wrote:
> On 2015-04-30, William Cohen <wcohen <at> redhat.com> wrote:
>>
>>> AFAICT the ARM926 core doesn't have a PMU at all -- I can find no 
>>> mention of one in either ARM docs for the ARM926 or Atmel docs for 
>>> the
>>> at91 parts.
> [...]
>>> Is there such a thing as software-only PMU support?
> 
>> The perf command included with newer kernels (since 2.6.31) allow 
>> recording both performance monitoring hardware events and software 
>> events.
> 
> So that would be a sort of software-only PMU support (from the user's 
> POV)?

Hi Grant,

Yes, in theory perf should provide software-only events if no pmu is
available. I have seen that happen on trimslice when the device tree didn't
describe performance monitoring hardware.  However, using perf depends on
having a newer kernel that works on the particular device.  In the past I
have encountered arm devices that only worked with particular kernels with
various patches (for example genesi efika smartbook).  I hope that you have
a reasonable new kernel that works on the arm926.

> 
>> Assuming that perf is working you should be able to do following to 
>> see what events it supports:
>>
>> # perf list
> [...]
>> # perf record --freq 1000 -e cpu-clock -a sleep 10
> [...]
>> # perf report
> 
> OK, thanks.  It's probably time to try to get a newer kernel running. 
> IIRC, Atmel provides kernel config examples for a few different 
> versions up to 3.6 for my platform.
> 
> So, let's say I have a hardware interrupt I can hook stuff to (I do), 
> and I can generate "random enough" edges on the pin in question with a 
> predictable frequency distribution (that might take a bit of 
> soldering, but shouldn't be too difficult).
> 
> Can I stick something in the ISR for that interrupt that will cause a 
> "sample"?
> 

You could do something like that with the "perf probe" described on:

https://lwn.net/Articles/355456/
http://www.brendangregg.com/perf.html

It looks like you would need to have a script to do process to group things
by the argument.

-Will

------------------------------

Message: 2
Date: Mon, 4 May 2015 09:56:50 -0500
From: Mike Accola <maccola <at> us.ibm.com>
Subject: Perf event setup failed
To: oprofile-list <at> lists.sourceforge.net
Message-ID:
	
<OFE1EF3D3A.4EEEBF45-ON86257E3B.0051E486-86257E3B.00521D5C <at> us.ibm.com>
Content-Type: text/plain; charset="us-ascii"

I was trying to use operf using the
br_misp_retired:400009:all_branches_pebs event on a machine with Haswell
processor.

I can run count with this event to get counters just fine.

However, when I try to use it with operf, I get this error:

operf -c -e br_misp_retired:400009:all_branches_pebs -d outdir -s
perf_event_open failed with Operation not supported Caught runtime_error:
Internal Error.  Perf event setup failed.
Error running profiler

Any ideas why?

I am using a version of operf 1.0.0 that we compile ourselves.

Thanks.

Mike Accola
IBM InfoSphere Streams
IBM Analytics

Phone: 720-349-3409
E-mail: maccola <at> us.ibm.com

 

-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 7301 bytes
Desc: not available

------------------------------

Message: 3
Date: Mon, 04 May 2015 18:46:06 +0200
From: Michael Petlan <mpetlan <at> redhat.com>
Subject: Re: Perf event setup failed
To: Mike Accola <maccola <at> us.ibm.com>
Cc: oprofile-list <at> lists.sourceforge.net
Message-ID: <1430757966.5694.16.camel <at> Rudolf-RHEL-7>
Content-Type: text/plain; charset="UTF-8"

Hi Mike,

could you try the following:

perf stat -e r04c5:pp ./something

and then

perf record -e r04c5:pp ./something
perf report

Could you provide some additional info, like kernel version, which
distro is it and cpuinfo?

Thanks.

Regards,
Michael

On Mon, 2015-05-04 at 09:56 -0500, Mike Accola wrote:
> I was trying to use operf using the
> br_misp_retired:400009:all_branches_pebs event on a machine with
> Haswell processor. 
> 
> I can run count with this event to get counters just fine. 
> 
> However, when I try to use it with operf, I get this error: 
> 
> operf -c -e br_misp_retired:400009:all_branches_pebs -d outdir -s 
> perf_event_open failed with Operation not supported 
> Caught runtime_error: Internal Error.  Perf event setup failed. 
> Error running profiler 
> 
> Any ideas why? 
> 
> I am using a version of operf 1.0.0 that we compile ourselves. 
> 
> Thanks.
> 
> 
> ___________________________________
> Mike Accola 
> IBM InfoSphere Streams 
> IBM Analytics
> 
> Phone: 720-349-3409 
> E-mail: maccola <at> us.ibm.com 
> 
> 
> 
> 
> 
>   
> 
>   
> 
>
----------------------------------------------------------------------------
--
> One dashboard for servers and applications across Physical-Virtual-Cloud 
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> oprofile-list mailing list
> oprofile-list <at> lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oprofile-list

------------------------------

Message: 4
Date: Mon, 4 May 2015 22:49:36 -0400
From: Paul Fine <pbfine91 <at> gmail.com>
Subject: Error cross compiling oprofile
To: oprofile-list <at> lists.sourceforge.net
Message-ID:
	<CAC7FuqmEaS5H39HCjGhrBqo=Q_feAwAzThpMWqnxDM+KNnudgw <at> mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi,

I am trying to cross compile oprofile for the ARM on the TI C6A816x
running linux-2.6.37.  The "make" step gave me this error:

Making all in pe_profiling
make[2]: Entering directory
`/home/pfine/oprofile/oprofile-1.0.0/pe_profiling'
arm-none-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -I..  -I ../libutil -I
../libop -I ../libutil++ -I ../libperf_events -I ../libpe_utils
-I/home/pfine/oprofile/linux_hdr_install/include   -W -Wall -fno-common
-ftemplate-depth-50 -g -O2 -MT operf.o -MD -MP -MF .deps/operf.Tpo -c -o
operf.o operf.cpp
operf.cpp: In function 'int start_profiling()':
operf.cpp:330: error: 'pipe2' was not declared in this scope
make[2]: *** [operf.o] Error 1

I can't find the pipe2() function call in the kernel headers.  Any idea
what I am missing?

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

----------------------------------------------------------------------------
--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y

------------------------------

_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list

End of oprofile-list Digest, Vol 108, Issue 1
*********************************************

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list
大平怜 | 5 May 20:50 2015
Picon

opjitconv runs indefinitely

Hi,

I found opjitconv ran indefinitely when profiling a Java application running on
OpenJDK/ppc64le.  This is because OpenJDK sometimes reports generation of
zero-size jitted code via JVMTI, but scan_overlaps() in opjitconv does not assume
the existence of jitted code with size zero.

(1) scan_overlaps() finds overlap between a normal jitted code and a zero-size
     jitted code.
(2) eliminate_overlaps() tries to split the zero-size jitted code but cannot.
(3) resolve_overlaps() incorrectly thinks the split has happened and invokes
     scan_overlaps() again.
(4) Back to (1)

One workaround would be to remove all the zero-size entries before resolving
overlaps (patch attached), but I am not sure if this is a good solution.
It works at least in my environment.


Regards,
Rei Odaira


--- oprofile-1.0.0/opjitconv/jitsymbol.c 2014-09-12 09:39:47.000000000 -0500
+++ oprofile-1.0.0-openjdk8-src/opjitconv/jitsymbol.c 2015-05-05 13:37:13.931202002 -0500
<at> <at> -201,6 +201,26 <at> <at>
  }
 }
 
+static void invalidate_zero_size_entries(void)
+{
+ u32 i;
+ int flag;
+ struct jitentry * a;
+
+ flag = 0;
+ for (i = 0; i < entry_count; i++) {
+ a = entries_address_ascending[i];
+ if (a->code_size == 0) {
+ invalidate_entry(a);
+ flag = 1;
+ }
+ }
+ if (flag) {
+ resort_address();
+ resort_symbol();
+ }
+}
+
 
 /* select the symbol with the longest life time in the index range */
 static int select_one(int start_idx, int end_idx)
<at> <at> -505,6 +525,7 <at> <at>
  int cnt = 0;
 
  invalidate_earlybirds(start_time);
+ invalidate_zero_size_entries();
  while ((rc = scan_overlaps()) && rc != OP_JIT_CONV_FAIL) {
  resort_address();
  if (cnt == 0) {

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list
Florian Fainelli | 5 May 20:25 2015
Picon

[PATCH] Add Broadcom Brahma-B15 CPU implementor and part number

Broadcom's Brahma-B15 CPU features a PMU which is 100% software
compatible with those found on Cortex-A15 designs.  Add the required
code to recognize the implementor id (0x42) and the Brahma-B15 part
number (0x00f) and return "arm/armv7-ca15" so we can utilize the PMU.

Signed-off-by: Florian Fainelli <f.fainelli <at> gmail.com>
---
 libop/op_cpu_type.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libop/op_cpu_type.c b/libop/op_cpu_type.c
index 362489c40989..3034c146f7bb 100644
--- a/libop/op_cpu_type.c
+++ b/libop/op_cpu_type.c
 <at>  <at>  -415,6 +415,11  <at>  <at>  static op_cpu _get_arm_cpu_type(void)
 		case 0xd03:
 			return op_get_cpu_number("arm/armv8-ca53");
 		}
+	} else if (vendorid == 0x42) {  /* Broadcom Corporation */
+		switch (cpuid) {
+		case 0x00f:
+			return op_get_cpu_number("arm/armv7-ca15");
+		}
 	} else if (vendorid == 0x50) {	/* Applied Micro Circuits Corporation */
 		switch (cpuid) {
 		case 0x000:
--

-- 
2.1.0

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
蒋雄伟(蒋冲 | 5 May 06:44 2015

答复: oprofile-list Digest, Vol 108, Issue 1

In /xen/arch/x86/oprofile/op_counter.h  there is a definition

#define OP_MAX_COUNTER 8

As far as I know , the number of counter equals the number of events.  As
all we know that the number of events is more than 8. 
So my question is : Is it the maximum concurrent counter or the total
counter ? 

-----邮件原件-----
发件人: oprofile-list-request <at> lists.sourceforge.net
[mailto:oprofile-list-request <at> lists.sourceforge.net] 
发送时间: 2015年5月5日 10:50
收件人: oprofile-list <at> lists.sourceforge.net
主题: oprofile-list Digest, Vol 108, Issue 1

Send oprofile-list mailing list submissions to
	oprofile-list <at> lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.sourceforge.net/lists/listinfo/oprofile-list
or, via email, send a message with subject or body 'help' to
	oprofile-list-request <at> lists.sourceforge.net

You can reach the person managing the list at
	oprofile-list-owner <at> lists.sourceforge.net

When replying, please edit your Subject line so it is more specific than
"Re: Contents of oprofile-list digest..."

Today's Topics:

   1. Re: Does oprofile suffer from aliasing? (William Cohen)
   2. Perf event setup failed (Mike Accola)
   3. Re: Perf event setup failed (Michael Petlan)
   4. Error cross compiling oprofile (Paul Fine)

----------------------------------------------------------------------

Message: 1
Date: Thu, 30 Apr 2015 14:18:19 -0400
From: William Cohen <wcohen <at> redhat.com>
Subject: Re: Does oprofile suffer from aliasing?
To: Grant Edwards <grant.b.edwards <at> gmail.com>,
	oprofile-list <at> lists.sf.net
Message-ID: <554271EB.10407 <at> redhat.com>
Content-Type: text/plain; charset=windows-1252

On 04/30/2015 12:43 PM, Grant Edwards wrote:
> On 2015-04-30, William Cohen <wcohen <at> redhat.com> wrote:
>>
>>> AFAICT the ARM926 core doesn't have a PMU at all -- I can find no 
>>> mention of one in either ARM docs for the ARM926 or Atmel docs for 
>>> the
>>> at91 parts.
> [...]
>>> Is there such a thing as software-only PMU support?
> 
>> The perf command included with newer kernels (since 2.6.31) allow 
>> recording both performance monitoring hardware events and software 
>> events.
> 
> So that would be a sort of software-only PMU support (from the user's 
> POV)?

Hi Grant,

Yes, in theory perf should provide software-only events if no pmu is
available. I have seen that happen on trimslice when the device tree didn't
describe performance monitoring hardware.  However, using perf depends on
having a newer kernel that works on the particular device.  In the past I
have encountered arm devices that only worked with particular kernels with
various patches (for example genesi efika smartbook).  I hope that you have
a reasonable new kernel that works on the arm926.

> 
>> Assuming that perf is working you should be able to do following to 
>> see what events it supports:
>>
>> # perf list
> [...]
>> # perf record --freq 1000 -e cpu-clock -a sleep 10
> [...]
>> # perf report
> 
> OK, thanks.  It's probably time to try to get a newer kernel running. 
> IIRC, Atmel provides kernel config examples for a few different 
> versions up to 3.6 for my platform.
> 
> So, let's say I have a hardware interrupt I can hook stuff to (I do), 
> and I can generate "random enough" edges on the pin in question with a 
> predictable frequency distribution (that might take a bit of 
> soldering, but shouldn't be too difficult).
> 
> Can I stick something in the ISR for that interrupt that will cause a 
> "sample"?
> 

You could do something like that with the "perf probe" described on:

https://lwn.net/Articles/355456/
http://www.brendangregg.com/perf.html

It looks like you would need to have a script to do process to group things
by the argument.

-Will

------------------------------

Message: 2
Date: Mon, 4 May 2015 09:56:50 -0500
From: Mike Accola <maccola <at> us.ibm.com>
Subject: Perf event setup failed
To: oprofile-list <at> lists.sourceforge.net
Message-ID:
	
<OFE1EF3D3A.4EEEBF45-ON86257E3B.0051E486-86257E3B.00521D5C <at> us.ibm.com>
Content-Type: text/plain; charset="us-ascii"

I was trying to use operf using the
br_misp_retired:400009:all_branches_pebs event on a machine with Haswell
processor.

I can run count with this event to get counters just fine.

However, when I try to use it with operf, I get this error:

operf -c -e br_misp_retired:400009:all_branches_pebs -d outdir -s
perf_event_open failed with Operation not supported Caught runtime_error:
Internal Error.  Perf event setup failed.
Error running profiler

Any ideas why?

I am using a version of operf 1.0.0 that we compile ourselves.

Thanks.

Mike Accola
IBM InfoSphere Streams
IBM Analytics

Phone: 720-349-3409
E-mail: maccola <at> us.ibm.com

 

-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 7301 bytes
Desc: not available

------------------------------

Message: 3
Date: Mon, 04 May 2015 18:46:06 +0200
From: Michael Petlan <mpetlan <at> redhat.com>
Subject: Re: Perf event setup failed
To: Mike Accola <maccola <at> us.ibm.com>
Cc: oprofile-list <at> lists.sourceforge.net
Message-ID: <1430757966.5694.16.camel <at> Rudolf-RHEL-7>
Content-Type: text/plain; charset="UTF-8"

Hi Mike,

could you try the following:

perf stat -e r04c5:pp ./something

and then

perf record -e r04c5:pp ./something
perf report

Could you provide some additional info, like kernel version, which
distro is it and cpuinfo?

Thanks.

Regards,
Michael

On Mon, 2015-05-04 at 09:56 -0500, Mike Accola wrote:
> I was trying to use operf using the
> br_misp_retired:400009:all_branches_pebs event on a machine with
> Haswell processor. 
> 
> I can run count with this event to get counters just fine. 
> 
> However, when I try to use it with operf, I get this error: 
> 
> operf -c -e br_misp_retired:400009:all_branches_pebs -d outdir -s 
> perf_event_open failed with Operation not supported 
> Caught runtime_error: Internal Error.  Perf event setup failed. 
> Error running profiler 
> 
> Any ideas why? 
> 
> I am using a version of operf 1.0.0 that we compile ourselves. 
> 
> Thanks.
> 
> 
> ___________________________________
> Mike Accola 
> IBM InfoSphere Streams 
> IBM Analytics
> 
> Phone: 720-349-3409 
> E-mail: maccola <at> us.ibm.com 
> 
> 
> 
> 
> 
>   
> 
>   
> 
>
----------------------------------------------------------------------------
--
> One dashboard for servers and applications across Physical-Virtual-Cloud 
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> oprofile-list mailing list
> oprofile-list <at> lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oprofile-list

------------------------------

Message: 4
Date: Mon, 4 May 2015 22:49:36 -0400
From: Paul Fine <pbfine91 <at> gmail.com>
Subject: Error cross compiling oprofile
To: oprofile-list <at> lists.sourceforge.net
Message-ID:
	<CAC7FuqmEaS5H39HCjGhrBqo=Q_feAwAzThpMWqnxDM+KNnudgw <at> mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi,

I am trying to cross compile oprofile for the ARM on the TI C6A816x
running linux-2.6.37.  The "make" step gave me this error:

Making all in pe_profiling
make[2]: Entering directory
`/home/pfine/oprofile/oprofile-1.0.0/pe_profiling'
arm-none-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -I..  -I ../libutil -I
../libop -I ../libutil++ -I ../libperf_events -I ../libpe_utils
-I/home/pfine/oprofile/linux_hdr_install/include   -W -Wall -fno-common
-ftemplate-depth-50 -g -O2 -MT operf.o -MD -MP -MF .deps/operf.Tpo -c -o
operf.o operf.cpp
operf.cpp: In function 'int start_profiling()':
operf.cpp:330: error: 'pipe2' was not declared in this scope
make[2]: *** [operf.o] Error 1

I can't find the pipe2() function call in the kernel headers.  Any idea
what I am missing?

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

----------------------------------------------------------------------------
--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y

------------------------------

_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list

End of oprofile-list Digest, Vol 108, Issue 1
*********************************************

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list
Paul Fine | 5 May 04:49 2015
Picon

Error cross compiling oprofile

Hi,

I am trying to cross compile oprofile for the ARM on the TI C6A816x running linux-2.6.37.  The "make" step gave me this error:

Making all in pe_profiling
make[2]: Entering directory `/home/pfine/oprofile/oprofile-1.0.0/pe_profiling'
arm-none-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -I..  -I ../libutil -I ../libop -I ../libutil++ -I ../libperf_events -I ../libpe_utils -I/home/pfine/oprofile/linux_hdr_install/include   -W -Wall -fno-common -ftemplate-depth-50 -g -O2 -MT operf.o -MD -MP -MF .deps/operf.Tpo -c -o operf.o operf.cpp
operf.cpp: In function 'int start_profiling()':
operf.cpp:330: error: 'pipe2' was not declared in this scope
make[2]: *** [operf.o] Error 1


I can't find the pipe2() function call in the kernel headers.  Any idea what I am missing?

Thanks

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list
Mike Accola | 4 May 16:56 2015
Picon

Perf event setup failed

I was trying to use operf using the br_misp_retired:400009:all_branches_pebs event on a machine with Haswell processor.

I can run count with this event to get counters just fine.

However, when I try to use it with operf, I get this error:

operf -c -e br_misp_retired:400009:all_branches_pebs -d outdir -s
perf_event_open failed with Operation not supported
Caught runtime_error: Internal Error.  Perf event setup failed.
Error running profiler

Any ideas why?

I am using a version of operf 1.0.0 that we compile ourselves.

Thanks.

Mike Accola
IBM InfoSphere Streams
IBM Analytics

Phone: 720-349-3409
E-mail: maccola <at> us.ibm.com

 

 

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list
Grant Edwards | 29 Apr 18:27 2015
Picon

Does oprofile suffer from aliasing?

I'm looking for a way to determine what processes/threads are using up
the most CPU time on an ARM926 system.  We're running out of cycles
and want to know where to concentrate optimization efforts.  The
platform is currently running 2.6.22, but I could switch to a later
kernel if it would buy me some useful profiling data.

The values printed by 'top' are meaningless due to aliasing.  

Most of the relevent threads are triggered by timers on fixed cycles
and run for much less than one kernel tick. If I run a simple test
with a thread that does a some work every 10ms, and top is using 10ms
samples, then depending on the phase between the two 100Hz cycles, top
may think the thread is using 0% or 100% (or sometimes fairly random
values in between).

The documentation I've read on oprofile also refers to sampling,
though I can't find a description of how that sampling is done.  If
the sampling is random enough compared to the kernel timers, then it
might work.

Is oprofile going to produce useful data for the case where threads
are triggered on fixed cycles by timers?

If not, can anybody suggest anything else?

--

-- 
Grant Edwards               grant.b.edwards        Yow! Are you selling NYLON
                                  at               OIL WELLS??  If so, we can
                              gmail.com            use TWO DOZEN!!

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y

Gmane