diff mbox series

[CATERPILLAR,v4,5/7] example: instrum: configure instrumented API set

Message ID 1517407226-19192-6-git-send-email-odpbot@yandex.ru
State Superseded
Headers show
Series [API-NEXT,v4,1/7] api: packet: add protocol type enumeration | expand

Commit Message

Github ODP bot Jan. 31, 2018, 2 p.m. UTC
From: Bogdan Pricope <bogdan.pricope@linaro.org>


Add configure time option to trim API set to be instrumented.

Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org>

---
/** Email created from pull request 406 (bogdanPricope:cat_benchmark_pr)
 ** https://github.com/Linaro/odp/pull/406
 ** Patch: https://github.com/Linaro/odp/pull/406.patch
 ** Base sha: 079b524277414f57411d3223563353bbdbc1a536
 ** Merge commit sha: c25517810ea3389a28c0adb2fdde601eae684851
 **/
 example/instrum/Makefile.am    | 16 +++++++++++++---
 example/instrum/instrum.c      |  4 ++++
 example/instrum/pktio_direct.h |  3 +++
 example/instrum/sched.h        |  3 +++
 example/m4/configure.m4        |  8 ++++++++
 5 files changed, 31 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/example/instrum/Makefile.am b/example/instrum/Makefile.am
index 42c8161bf..fc4f5dcff 100644
--- a/example/instrum/Makefile.am
+++ b/example/instrum/Makefile.am
@@ -16,13 +16,11 @@  AM_LDFLAGS = -L$(PAPI_PATH)/lib -lpapi
 
 lib_LTLIBRARIES = $(LIB)/libinstrum.la
 
-__LIB__libinstrum_la_SOURCES = \
+INSTRUM_SRC = \
 		instrum.c \
 		store.c \
 		papi_cnt.c \
 		init.c \
-		pktio_direct.c\
-		sched.c \
 		instrum_common.h \
 		sample.h \
 		store.h \
@@ -30,3 +28,15 @@  __LIB__libinstrum_la_SOURCES = \
 		init.h \
 		pktio_direct.h \
 		sched.h
+
+if CODE_INSTRUM_SCHED
+AM_CFLAGS += -DCODE_INSTRUM_SCHED
+INSTRUM_SRC += sched.c
+endif
+
+if CODE_INSTRUM_PKTIO_DIRECT
+AM_CFLAGS += -DCODE_INSTRUM_PKTIO_DIRECT
+INSTRUM_SRC += pktio_direct.c
+endif
+
+__LIB__libinstrum_la_SOURCES = $(INSTRUM_SRC)
diff --git a/example/instrum/instrum.c b/example/instrum/instrum.c
index 605675154..aba07e0c2 100644
--- a/example/instrum/instrum.c
+++ b/example/instrum/instrum.c
@@ -21,11 +21,15 @@  static __attribute__((constructor)) void setup_wrappers(void)
 	if (instr_odpinit_init())
 		return;
 
+#ifdef CODE_INSTRUM_SCHED
 	if (instr_odpsched_init())
 		return;
+#endif /* CODE_INSTRUM_SCHED */
 
+#ifdef CODE_INSTRUM_PKTIO_DIRECT
 	if (instr_odppktio_direct_init())
 		return;
+#endif /* CODE_INSTRUM_PKTIO_DIRECT */
 }
 
 static __attribute__((destructor)) void teardown_wrappers(void)
diff --git a/example/instrum/pktio_direct.h b/example/instrum/pktio_direct.h
index b028c3a4f..1d30a3db0 100644
--- a/example/instrum/pktio_direct.h
+++ b/example/instrum/pktio_direct.h
@@ -7,6 +7,8 @@ 
 #ifndef __INSTRUM_PKTIO_DIRECT_H__
 #define __INSTRUM_PKTIO_DIRECT_H__
 
+#ifdef CODE_INSTRUM_PKTIO_DIRECT
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -16,5 +18,6 @@  int instr_odppktio_direct_init(void);
 #ifdef __cplusplus
 }
 #endif
+#endif /* CODE_INSTRUM_PKTIO_DIRECT */
 #endif /* __INSTRUM_PKTIO_DIRECT_H__ */
 
diff --git a/example/instrum/sched.h b/example/instrum/sched.h
index 2a092b0ed..6cfc40bdc 100644
--- a/example/instrum/sched.h
+++ b/example/instrum/sched.h
@@ -7,6 +7,8 @@ 
 #ifndef __INSTRUM_SCHED_H__
 #define __INSTRUM_SCHED_H__
 
+#ifdef CODE_INSTRUM_SCHED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -16,4 +18,5 @@  int instr_odpsched_init(void);
 #ifdef __cplusplus
 }
 #endif
+#endif /* CODE_INSTRUM_SCHED */
 #endif /* __INSTRUM_SCHED_H__ */
diff --git a/example/m4/configure.m4 b/example/m4/configure.m4
index 5a05717b8..2d4e095c3 100644
--- a/example/m4/configure.m4
+++ b/example/m4/configure.m4
@@ -23,6 +23,14 @@  AS_HELP_STRING([--with-papi-path=DIR   path to papi install directory]),
 AC_SUBST([PAPI_PATH])
 AM_CONDITIONAL([CODE_INSTRUM], [test x$code_instrumentation = xyes ])
 
+AC_ARG_WITH([code-instrum-profile],
+AS_HELP_STRING([--with-code-instrum-profile=all|scheduler|pktio_direct   set code instrumentation profile]),
+    [code_instrum_profile="$withval"],
+    [code_instrum_profile="all"])
+
+AM_CONDITIONAL([CODE_INSTRUM_SCHED],[test $code_instrum_profile = "all" || test $code_instrum_profile = "scheduler"])
+AM_CONDITIONAL([CODE_INSTRUM_PKTIO_DIRECT],[test $code_instrum_profile = "all" || test $code_instrum_profile = "pktio_direct"])
+
 AC_CONFIG_FILES([example/classifier/Makefile
 		 example/generator/Makefile
 		 example/hello/Makefile