Paul Guo | 6 Sep 2011 09:50
Favicon

[PATCH] Add support for Tilera tile64/tilepro/tile-gx processor family

This patch adds support for Tilera tile64, tilepro and tile-gx processor
family. The Linux kernel
has included oprofile support for this architecture (under arch/tile).
The whole make process runs fine and the binaries and related files work
fine except an error during doc building.

make[2]: Entering directory `/root/latest/oprofile/doc'
XML_CATALOG_FILES=xsl/catalog.xml xsltproc --nonet -o oprofile.html
--stringparam version 0.9.8git ./xsl/xhtml.xsl ../doc/oprofile.xml
make[2]: *** [oprofile.html] Segmentation fault
make[2]: Leaving directory `/root/latest/oprofile/doc'

This affects the doc directory only and should have nothing to do with
the patch, so I do not think this is a problem for this patch.

Thanks,
Paul

Signed-off-by: Paul Guo <ggang <at> tilera.com>
---
daemon/opd_cookie.c | 3 +-
events/Makefile.am | 6 ++-
events/tile/tile64/events | 36 ++++++++++++++++
events/tile/tile64/unit_masks | 4 ++
events/tile/tilegx/events | 81 ++++++++++++++++++++++++++++++++++++
events/tile/tilegx/unit_masks | 4 ++
events/tile/tilepro/events | 89 ++++++++++++++++++++++++++++++++++++++++
events/tile/tilepro/unit_masks | 4 ++
libop/op_cpu_type.c | 3 +
libop/op_cpu_type.h | 3 +
(Continue reading)

William Cohen | 6 Sep 2011 17:08
Picon
Favicon

Re: [PATCH] Add support for Tilera tile64/tilepro/tile-gx processor family

On 09/06/2011 03:50 AM, Paul Guo wrote:
> This patch adds support for Tilera tile64, tilepro and tile-gx processor
> family. The Linux kernel
> has included oprofile support for this architecture (under arch/tile).
> The whole make process runs fine and the binaries and related files work
> fine except an error during doc building.
> 
> make[2]: Entering directory `/root/latest/oprofile/doc'
> XML_CATALOG_FILES=xsl/catalog.xml xsltproc --nonet -o oprofile.html
> --stringparam version 0.9.8git ./xsl/xhtml.xsl ../doc/oprofile.xml
> make[2]: *** [oprofile.html] Segmentation fault
> make[2]: Leaving directory `/root/latest/oprofile/doc'
> 
> This affects the doc directory only and should have nothing to do with
> the patch, so I do not think this is a problem for this patch.
> 
> Thanks,
> Paul

Hi Paul,

Thanks for the addition for the Tilera processor. It looks like the mailer managed the patch by wrapping the
lines, so the patch didn't apply cleanly. http://kerneltrap.org/Linux/Email_Clients_and_Patches

Did the error building the documentation occur before adding the patch on the original version of
oprofile? Or did this occur only after adding the patch? What environment were you using the build oprofile?

There some additional comments throught the patch below.

-Will
(Continue reading)

SourceForge.net | 7 Sep 2011 18:31
Picon

[ oprofile-Bugs-3405711 ] opreport xml total count differs

Bugs item #3405711, was opened at 2011-09-07 12:31
Message generated for change (Tracker Item Submitted) made by rgrunber
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=116191&aid=3405711&group_id=16191

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Roland Grunberg (rgrunber)
Assigned to: Nobody/Anonymous (nobody)
Summary: opreport xml total count differs

Initial Comment:
The total samples collected with opreport and opreport -X differ when using --separate=lib. In
particular it seems that the total count displayed by opreport -X is off by exactly the number of samples
collected for the last module.

This seems to be slightly related to https://sourceforge.net/tracker/index.php?func=detail&aid=1982201&group_id=16191&atid=116191

Steps to reproduce : (Any simple C program executed multiple times as below should reproduce the issue)

rgrunber <at> tornero:Debug$ opcontrol -v
opcontrol: oprofile 0.9.8git compiled on Sep  2 2011 14:11:00
rgrunber <at> tornero:Debug$ opreport -v
(Continue reading)

Paul Guo | 8 Sep 2011 16:53
Favicon

Re: [PATCH] Add support for Tilera tile64/tilepro/tile-gx processor family


> On 09/06/2011 03:50 AM, Paul Guo wrote:
>> This patch adds support for Tilera tile64, tilepro and tile-gx processor
>> family. The Linux kernel
>> has included oprofile support for this architecture (under arch/tile).
>> The whole make process runs fine and the binaries and related files work
>> fine except an error during doc building.
>>
>> make[2]: Entering directory `/root/latest/oprofile/doc'
>> XML_CATALOG_FILES=xsl/catalog.xml xsltproc --nonet -o oprofile.html
>> --stringparam version 0.9.8git ./xsl/xhtml.xsl ../doc/oprofile.xml
>> make[2]: *** [oprofile.html] Segmentation fault
>> make[2]: Leaving directory `/root/latest/oprofile/doc'
>>
>> This affects the doc directory only and should have nothing to do with
>> the patch, so I do not think this is a problem for this patch.
>>
>> Thanks,
>> Paul
> Hi Paul,
>
> Thanks for the addition for the Tilera processor. It looks like the mailer managed the patch by wrapping
the lines, so the patch didn't apply cleanly. http://kerneltrap.org/Linux/Email_Clients_and_Patches
>
> Did the error building the documentation occur before adding the patch on the original version of
oprofile? Or did this occur only after adding the patch? What environment were you using the build oprofile?
Yes, this error occur when building with the original oprofile. I did not look into this issue currently but
kept this in my mind. This issue can be a bug  in xsltproc or can be a bug introduced after porting of xsltproc.
Anyway this is another issue. As to the environment, I configure with "-with-linux-support" and
"--enable-gui=no", no other special settings.
(Continue reading)

Paul Guo | 8 Sep 2011 17:33
Favicon

[PATCH 1/2] Add support for Tilera tile64/tilepro/tile-gx processor family

Signed-off-by: Paul Guo <ggang <at> tilera.com>
---
 daemon/opd_cookie.c            |    3 +-
 events/Makefile.am             |    6 ++-
 events/tile/tile64/events      |   36 ++++++++++++++++
 events/tile/tile64/unit_masks  |    4 ++
 events/tile/tilegx/events      |   81 ++++++++++++++++++++++++++++++++++++
 events/tile/tilegx/unit_masks  |    4 ++
 events/tile/tilepro/events     |   89 ++++++++++++++++++++++++++++++++++++++++
 events/tile/tilepro/unit_masks |    4 ++
 libop/op_cpu_type.c            |    3 +
 libop/op_cpu_type.h            |    3 +
 libop/op_events.c              |    6 +++
 libop/tests/cpu_type_tests.c   |    3 +
 utils/ophelp.c                 |    8 ++++
 13 files changed, 248 insertions(+), 2 deletions(-)
 create mode 100644 events/tile/tile64/events
 create mode 100644 events/tile/tile64/unit_masks
 create mode 100644 events/tile/tilegx/events
 create mode 100644 events/tile/tilegx/unit_masks
 create mode 100644 events/tile/tilepro/events
 create mode 100644 events/tile/tilepro/unit_masks

diff --git a/daemon/opd_cookie.c b/daemon/opd_cookie.c
index 3578e48..ec3ff2d 100644
--- a/daemon/opd_cookie.c
+++ b/daemon/opd_cookie.c
 <at>  <at>  -71,7 +71,8  <at>  <at>  static inline int lookup_dcookie(cookie_t cookie, char * buf, size_t size)
 		       (unsigned long)(cookie & 0xffffffff), buf, size);
 }
(Continue reading)

Paul Guo | 8 Sep 2011 17:48
Favicon

[PATCH 2/2] Add support for Tilera tile64/tilepro/tile-gx processor family

Signed-off-by: Paul Guo <ggang <at> tilera.com>
---
 events/tile/tile64/events  |    2 +-
 events/tile/tilegx/events  |    2 +-
 events/tile/tilepro/events |    2 +-
 utils/ophelp.c             |    6 +++++-
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/events/tile/tile64/events b/events/tile/tile64/events
index 10a9097..60ae0ac 100644
--- a/events/tile/tile64/events
+++ b/events/tile/tile64/events
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 # TILE64 Events

 event:0x00 counters:0,1 um:zero minimum:500 name:ZERO : Always zero - no event ever happens
-event:0x01 counters:0,1 um:zero minimum:500 name:ONE : Always one - an event occurs every cycle
+event:0x01 counters:0,1 um:zero minimum:20000 name:ONE : Always one - an event occurs every cycle
 event:0x02 counters:0,1 um:zero minimum:500 name:PASS_WRITTEN : The event indicates that the PASS SPR
was written
 event:0x03 counters:0,1 um:zero minimum:500 name:FAIL_WRITTEN : The event indicates that the FAIL SPR
was written
 event:0x04 counters:0,1 um:zero minimum:500 name:DONE_WRITTEN : The event indicates that the DONE SPR
was written
diff --git a/events/tile/tilegx/events b/events/tile/tilegx/events
index 1e65b70..3502675 100644
--- a/events/tile/tilegx/events
+++ b/events/tile/tilegx/events
 <at>  <at>  -1,7 +1,7  <at>  <at> 
 # TILE-Gx Events
(Continue reading)

William Cohen | 9 Sep 2011 16:24
Picon
Favicon

Re: [PATCH 2/2] Add support for Tilera tile64/tilepro/tile-gx processor family

On 09/08/2011 11:48 AM, Paul Guo wrote:

> diff --git a/utils/ophelp.c b/utils/ophelp.c
> index d46a663..4a26899 100644
> --- a/utils/ophelp.c
> +++ b/utils/ophelp.c
>  <at>  <at>  -736,7 +736,11  <at>  <at>  int main(int argc, char const * argv[])
>  	case CPU_TILE_TILE64:
>  	case CPU_TILE_TILEPRO:
>  	case CPU_TILE_TILEGX:
> -		printf("Contact Tilera Corporation for more information\n");
> +		event_doc =
> +			"See Tilera development doc: Multicore Development "
> +			"Environment Optimization Guide\n"
> +			"Contact Tilera Corporation or visit"

Hi Paul,

Need a ' ' at the end of the previous line. Otherwise get "visithttp://..."

> +			"http://www.tilera.com for more information\n";
>  		break;
>  
>  		case CPU_RTC:

-Will

------------------------------------------------------------------------------
Why Cloud-Based Security and Archiving Make Sense
Osterman Research conducted this study that outlines how and why cloud
(Continue reading)

Paul Guo | 9 Sep 2011 18:30
Favicon

Re: [PATCH 2/2] Add support for Tilera tile64/tilepro/tile-gx processor family

Will and Ben,

I accept your comment and generate one more patch (3rd patch).

Thanks,
Paul

Signed-off-by: Paul Guo <ggang <at> tilera.com>
---
 utils/ophelp.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/utils/ophelp.c b/utils/ophelp.c
index 4a26899..bffdfce 100644
--- a/utils/ophelp.c
+++ b/utils/ophelp.c
 <at>  <at>  -738,9 +738,9  <at>  <at>  int main(int argc, char const * argv[])
 	case CPU_TILE_TILEGX:
 		event_doc =
 			"See Tilera development doc: Multicore Development "
-			"Environment Optimization Guide\n"
-			"Contact Tilera Corporation or visit"
-			"http://www.tilera.com for more information\n";
+			"Environment Optimization Guide.\n"
+			"Contact Tilera Corporation or visit "
+			"http://www.tilera.com for more information.\n";
 		break;

 		case CPU_RTC:
--

-- 
(Continue reading)

Arthur Yuldashev | 11 Sep 2011 18:19
Picon

slowdown of opreport during profiling

Hi, dear experts!

I am using oprofile for cluster wide profiling of an x86_64 HPC cluster 
with dual-processor nodes (2 x Xeon E5345  <at>  2.33GHz)
running RHEL 4.8 with 2.6.9-55.ELsmp kernel and oprofile 0.8.1-36 from 
RHEL distro.

I've implemented simple oprofile + ganglia monitoring system integration 
which allows to monitor value of some metric
(BUS_TRAN_MEM in my case) got from oprofile through gangia's web 
frontend on every node.
For this purpose I set startup of oprofile at node start:
sudo /usr/bin/opcontrol --start --event=BUS_TRAN_MEM:10000 --no-vmlinux
and periodical (once for minute) run of opreport for node wide profiling
opreport -l -m all -r -t 1
which allows to count metric change during past minute and send 
information to ganglia.

And that is working fine without any visible overhead.

Recently I've tried to set up profiling with differentiation by one-node 
jobs running on the cluster.
For this purpose I set startup of oprofile at node start with profiling 
separately by thread:
sudo /usr/bin/opcontrol --start --event=BUS_TRAN_MEM:10000 --no-vmlinux 
--separate-thread
and once after job finish run of opreport
opreport -t 1 -r tgid:${JOB_TGID} --merge=tgid
which allowed to get job's "usage of a metric" during execution.

(Continue reading)

Vishal Ahuja | 13 Sep 2011 20:11
Picon

oprofile doesn't know your CPU

Hi All,

I have access to only a few performance counters because oprofile is not able to recognize the CPU. Here is the output:

vishal <at> vishal-desktop:~$ sudo opcontrol --list-events
oprofile: available events for CPU type "Intel Architectural Perfmon"

See Intel 64 and IA-32 Architectures Software Developer's Manual
Volume 3B (Document 253669) Chapter 18 for architectural perfmon events
This is a limited set of fallback events because oprofile doesn't know your CPU
CPU_CLK_UNHALTED: (counter: all)
        Clock cycles when not halted (min count: 6000)
INST_RETIRED: (counter: all)
        number of instructions retired (min count: 6000)
LLC_MISSES: (counter: all)
        Last level cache demand requests from this core that missed the LLC (min count: 6000)
        Unit masks (default 0x41)
        ----------
        0x41: No unit mask
LLC_REFS: (counter: all)
        Last level cache demand requests from this core (min count: 6000)
        Unit masks (default 0x4f)
        ----------
        0x4f: No unit mask
BR_INST_RETIRED: (counter: all)
        number of branch instructions retired (min count: 500)
BR_MISS_PRED_RETIRED: (counter: all)
        number of mispredicted branches retired (precise) (min count: 500)


Here is a snippet from /proc/cpuinfo:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 44
model name      : Intel(R) Xeon(R) CPU           E5603  <at> 1.60GHz

Please let me know how I could fix this!

Vishal

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
Learn about the latest advances in developing for the 
BlackBerry&reg; mobile platform with sessions, labs & more.
See new tools and technologies. Register for BlackBerry&reg; DevCon today!
http://p.sf.net/sfu/rim-devcon-copy1 
_______________________________________________
oprofile-list mailing list
oprofile-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list

Gmane