From ddf66995d7375dc717c72a401c20965dfbd97d31 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Milo=C5=A1=20Mula=C4=8D?= Date: Tue, 13 Jun 2006 13:24:44 +0000 Subject: [PATCH] support for profiling --- org.glite.lb.common/Makefile | 7 ++++++- org.glite.lb.server-bones/Makefile | 6 ++++++ org.glite.lb.server-bones/src/srvbones.c | 7 +++++++ org.glite.lb.server/Makefile | 17 +++++++++++++---- org.glite.lb.server/src/bkserverd.c | 11 ++++++++--- 5 files changed, 40 insertions(+), 8 deletions(-) diff --git a/org.glite.lb.common/Makefile b/org.glite.lb.common/Makefile index e4e659f..de0d012 100644 --- a/org.glite.lb.common/Makefile +++ b/org.glite.lb.common/Makefile @@ -77,7 +77,7 @@ endif EXPAT_LIBS:=${EXPAT_LIBS} -lexpat LDFLAGS:=-L${stagedir}/lib \ - ${COVERAGE_FLAGS} + ${COVERAGE_FLAGS} EXT_LIBS:= ${EXPAT_LIBS} ${GLOBUS_LIBS} ${JOBID_LIB} EXT_THRLIBS:= ${EXPAT_LIBS} ${GLOBUS_THRLIBS} ${JOBID_LIB} @@ -85,6 +85,11 @@ EXT_THRLIBS:= ${EXPAT_LIBS} ${GLOBUS_THRLIBS} ${JOBID_LIB} TEST_LIBS:=-L${cppunit_prefix}/lib -lcppunit TEST_INC:=-I${cppunit_prefix}/include +ifdef LB_PROF + CFLAGS:= ${CFLAGS} -pg -g + LDFLAGS:= ${LDFLAGS} -pg +endif + COMPILE:=libtool --mode=compile ${CC} LINK:=libtool --mode=link ${CC} -rpath ${stagedir}/lib ${LDFLAGS} LINKXX:=libtool --mode=link ${CXX} -rpath ${stagedir}/lib ${LDFLAGS} diff --git a/org.glite.lb.server-bones/Makefile b/org.glite.lb.server-bones/Makefile index 321765d..1f03996 100644 --- a/org.glite.lb.server-bones/Makefile +++ b/org.glite.lb.server-bones/Makefile @@ -28,6 +28,12 @@ VPATH=${top_srcdir}/src:${top_srcdir}/examples DEBUG:=-g -O0 -Wall CFLAGS:= ${DEBUG} -I${top_srcdir}/interface +LDFLAGS:= + +ifdef LB_PROF + CFLAGS:= ${CFLAGS} -pg -g + LDFLAGS:= ${LDFLAGS} -pg +endif COMPILE:=libtool --mode=compile ${CC} ${CFLAGS} LINK:=libtool --mode=link ${CC} -rpath ${stagedir}/lib ${LDFLAGS} diff --git a/org.glite.lb.server-bones/src/srvbones.c b/org.glite.lb.server-bones/src/srvbones.c index b4b8b3f..72f21eb 100644 --- a/org.glite.lb.server-bones/src/srvbones.c +++ b/org.glite.lb.server-bones/src/srvbones.c @@ -33,6 +33,9 @@ #define dprintf(x) { if (debug) printf x; } #endif +#ifdef LB_PROF +extern void _start (void), etext (void); +#endif static int running = 0; static int debug = 0; @@ -295,6 +298,10 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) if ( (pid = fork()) ) return pid; +#ifdef LB_PROF + monstartup((u_long)&_start, (u_long)&etext); +#endif + srandom(getpid()+time(NULL)); for ( i = 0; i < services_ct; i++ ) diff --git a/org.glite.lb.server/Makefile b/org.glite.lb.server/Makefile index 7c929c3..c0eb3dd 100644 --- a/org.glite.lb.server/Makefile +++ b/org.glite.lb.server/Makefile @@ -83,6 +83,16 @@ CFLAGS:= \ $(GRIDSITE_CFLAGS) \ -D_GNU_SOURCE ${LB_STANDALONE_FLAGS} ${LB_PERF_FLAGS} +ifdef LB_PROF + SRVBONES_LIB:= ${stagedir}/lib/libglite_lb_server_bones.la + LB_COMMON_LIB:=${stagedir}/lib/libglite_lb_common_${nothrflavour}.la + CFLAGS:=${CFLAGS} -pg -g + LDFLAGS:=${LDFLAGS} -pg +else + SRVBONES_LIB:= -L${stagedir}/lib -lglite_lb_server_bones + LB_COMMON_LIB:=-lglite_lb_common_${nothrflavour} +endif + TEST_LIBS:=-L${cppunit_prefix}/lib -lcppunit TEST_INC:=-I${cppunit_prefix}/include @@ -144,8 +154,7 @@ EXT_LIBS:= \ ${classadslib} \ ${VOMS_LIBS} -SRVBONES_LIB:= -L${stagedir}/lib -lglite_lb_server_bones -COMMON_LIBS:= -L${stagedir}/lib -lglite_lb_common_${nothrflavour} -lglite_security_gss_${nothrflavour} +COMMON_LIBS:= -L${stagedir}/lib -lglite_lb_common_${nothrflavour} -lglite_security_gss_${nothrflavour} PLUGIN_LIBS:= -L${stagedir}/lib -lglite_lb_common_${nothrflavour}\ ${classadslib} ${expatlib} -lexpat\ @@ -170,7 +179,7 @@ ifeq ($(GLITE_LB_SERVER_WITH_WS),yes) BKSERVER_LIBS= \ ${SRVBONES_LIB} \ - -lglite_lb_common_${nothrflavour} \ + ${LB_COMMON_LIB} \ ${GSOAP_LIB} \ ${EXT_LIBS} else @@ -178,7 +187,7 @@ else BKSERVER_LIBS= \ ${SRVBONES_LIB} \ - -lglite_lb_common_${nothrflavour} \ + ${LB_COMMON_LIB} \ -lglite_security_gss_${nothrflavour} \ ${EXT_LIBS} endif diff --git a/org.glite.lb.server/src/bkserverd.c b/org.glite.lb.server/src/bkserverd.c index 2e90911..243e395 100644 --- a/org.glite.lb.server/src/bkserverd.c +++ b/org.glite.lb.server/src/bkserverd.c @@ -72,8 +72,9 @@ extern int edg_wll_StoreProto(edg_wll_Context ctx); extern edg_wll_ErrorCode edg_wll_Open(edg_wll_Context ctx, char *cs); extern edg_wll_ErrorCode edg_wll_Close(edg_wll_Context); - - +#ifdef LB_PERF +extern void _start (void), etext (void); +#endif #define CON_QUEUE 20 /* accept() */ #define SLAVE_OVERLOAD 10 /* queue items per slave */ @@ -577,6 +578,9 @@ a.sin_addr.s_addr = INADDR_ANY; perror("deamon()"); exit(1); } +#ifdef LB_PERF + monstartup((u_long)&_start, (u_long)&etext); +#endif fpid = fopen(pidfile,"w"); if (!fpid) { perror(pidfile); return 1; } @@ -1416,10 +1420,11 @@ static int parse_limits(char *opt, int *j_limit, int *e_limit, int *size_limit) return (sscanf(opt, "%d:%d:%d", j_limit, e_limit, size_limit) == 3); } + static int check_mkdir(const char *dir) { struct stat sbuf; - + if ( stat(dir, &sbuf) ) { if ( errno == ENOENT ) -- 1.8.2.3