Chinaunix首页 | 论坛 | 博客
  • 博客访问: 230377
  • 博文数量: 48
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 412
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-24 10:27
个人简介

Continuous pursuit technical details

文章分类

全部博文(48)

文章存档

2014年(1)

2013年(47)

分类: C/C++

2013-11-25 13:45:18

ATCA GProf Procedures

 

 

on lsslogin, setup your ROOT

cd /home_nbu/[your login]

mkdir RXX (eg R22)

mkdir RXX/YY.0Y (eg R22/10.00)

cd RXX/YY.00

ROOT=`pwd`

 

Setup build environment for tl subsystem

setenv –s tl

mkdir -p $ROOT/tl/make
cd $ROOT/tl/make
cp `vuls linux_x86_sel.mk` .
chmod +w linux_x86_sel.mk

#edit linux_x86_sel.mk file

#add a -pg to the .mk in the COMMON_CCOPT section

# e.g….

-Wsign-promo \

-O2 \

-pg \

-gstabs+ \

-feliminate-unused-debug-symbols \

 

repeat for linux_x86-64_sel.mk

 

bsubcmd –t solaris –s tl

# wait for it to finish. It will install lib/make/*sel.mk

 

Setup build environment for glob subsystem

setenv –s glob

mkdir –p $ROOT/glob/CPLmem
cd $ROOT/glob/CPLmem
bsub -B -q $Q_ATCA "nmake -K -k -f CPLmem.mk > bld.out 2>&1”

 
Setup build environment for ssp subsystem
mkdir -p $ROOT/ssp/tftpboot/make
cd $ROOT/ssp/tftpboot/make
cp `vuls tftpboot.mk`
cd $ROOT/ssp/tftpboot/make
chmod +w tftpboot.mk

#edit tftpboot.mk file

#add a -pg to the .mk in the $(LXX86_INSTALL_LOC)/ngss :BLDMVISTA:

# e.g…

-lposixtime \

-lsctp \

-pg \

$(X86_RESOLVLIB) \

$(X86_CLIBS) \

-o $$(<).elf

 

repeat for imux

 

Setup build environment for SSP

setenv –s ssp

#Build ngss product:

e.g. ~lloyd/bin/nbuild.ngss.atca

#repeat for imux, cfed… product:

e.g. ~lloyd/bin/nbuild.imux
# build zip products (NGSSappl.zip…)
e.g. ~lloyd/bin/shipimux
e.g. ~lloyd/bin/shipngss       
 
# install products in lab
scp $ROOT/obj/linux_x86/SHIPDIR/ATCA/ 
NGSSappl.zip and IMUXappl.zip to lab OAM host(s) and install in /export/home/lss/tftpboot/services
 
 

Modify AIM to change working directory (allows gprof to write output file):

setenv –s ssp

cd $ROOT

mkdir –p ssp/aim

cd ssp/aim

cp `vuls AIMappl.c` .

chmod +w AIMappl.c


modify AIMappl.c:

add - chdir("/tmp"); before execve()

 

Build aim – ~lloyd/bin/nbuild.aim

build ramdisk – ~lloyd/bin/nbuild.ramdisk

install ramdisk –

cd $ROOT/obj/linux_x86/ssp/tftpboot/images/atcav2

copy lcprhel.image (and if necessary molene.image, virtual.image…) to OAM host(s)

install at /export/home/lss/tftpboot/images/atcav2

 

 
Take Mate service(s) offline by using REMcli (avoids switchover):

e.g. if the ngss service is associated with pool 2 the service ID is 026002000 for the active side and 026002001 for the standby side.  So to take026002001 OOS do from the CNFG host:

or for pool 0 member 1:

REMcli 17 026000001 1 1

note: with IMUX must do this for all services sharing IP.
 
reboot the host where ngss/imux will run
 

 

Should be all set – diameter will connect, Make your calls

When orig calls/registrations reaches 1000 limit:

 

login to host where ngss/imux will run

 

iomn aim

pCaa  (turn off monitoring), ESC ESC

iomn imux_000

prc (kill it)

 

collect the data from /tmp/gmon.out – copy up to config host

then copy to lab machine and run gprof.

 
copy file to oam host:
cd /tmp
chmod 666 gmon.out
rcp gmon.out gll02-s00c01h0:/export/home/lss/gmon1.out
 #  note: use different file names to avoid overwrites
 

 

 

ANALYSIS:         
 
cp $ROOT/obj/linux_x86/ssp/linux_x86/ngss.elf to where your gmon.out is stored 
(e.g. run on gll02)
gprof ngss.elf gmon1.out > gprof1.out

 

the profiling data will be in these two parts:

flat_profile_data indicates the total time spent within each function and the number of calls it has been invoked.

call_graph_data shows the time spent in each function and its children within the context of a function call chain.

 

 

 

 

 

阅读(1782) | 评论(0) | 转发(0) |
0

上一篇:doxygen

下一篇:汉诺塔问题 C++

给主人留下些什么吧!~~