diff mbox series

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

Message ID 1517241621-24528-6-git-send-email-odpbot@yandex.ru
State New
Headers show
Series [CATERPILLAR,v3,1/7] example: add basic papi configuration option | expand

Commit Message

Github ODP bot Jan. 29, 2018, 4 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: 5251bda54b51d3754aaf8c988aa959b48b4d25f9
 ** Merge commit sha: 2d6677b6a3794cad32abe2af7314215ea22921c3
 **/
 example/instrum/Makefile.am | 16 +++++++++++++---
 example/instrum/drv.h       |  3 +++
 example/instrum/instrum.c   |  4 ++++
 example/instrum/sched.h     |  3 +++
 example/m4/configure.m4     |  9 +++++++++
 5 files changed, 32 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/example/instrum/Makefile.am b/example/instrum/Makefile.am
index d5111c16c..e1fdbf7ab 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 \
-		drv.c \
-		sched.c \
 		instrum_common.h \
 		sample.h \
 		store.h \
@@ -30,3 +28,15 @@  __LIB__libinstrum_la_SOURCES = \
 		init.h \
 		drv.h \
 		sched.h
+
+if CODE_INSTRUM_SCHED
+AM_CFLAGS += -DCODE_INSTRUM_SCHED
+INSTRUM_SRC += sched.c
+endif
+
+if CODE_INSTRUM_DDF
+AM_CFLAGS += -DCODE_INSTRUM_DDF
+INSTRUM_SRC += drv.c
+endif
+
+__LIB__libinstrum_la_SOURCES = $(INSTRUM_SRC)
diff --git a/example/instrum/drv.h b/example/instrum/drv.h
index 12441a7e4..ed3dd7a08 100644
--- a/example/instrum/drv.h
+++ b/example/instrum/drv.h
@@ -7,6 +7,8 @@ 
 #ifndef __INSTRUM_DRV_H__
 #define __INSTRUM_DRV_H__
 
+#ifdef CODE_INSTRUM_DDF
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -16,4 +18,5 @@  int instr_odpdrv_init(void);
 #ifdef __cplusplus
 }
 #endif
+#endif /* CODE_INSTRUM_DDF */
 #endif /* __INSTRUM_DRV_H__ */
diff --git a/example/instrum/instrum.c b/example/instrum/instrum.c
index 05b38da68..93b6cc78f 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_DDF
 	if (instr_odpdrv_init())
 		return;
+#endif /* CODE_INSTRUM_DDF */
 
+#ifdef CODE_INSTRUM_SCHED
 	if (instr_odpsched_init())
 		return;
+#endif /* CODE_INSTRUM_SCHED */
 }
 
 static __attribute__((destructor)) void teardown_wrappers(void)
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..3e7a69112 100644
--- a/example/m4/configure.m4
+++ b/example/m4/configure.m4
@@ -23,6 +23,15 @@  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|ddf   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_DDF],[test $code_instrum_profile = "all" || test $code_instrum_profile = "ddf"])
+
+
 AC_CONFIG_FILES([example/classifier/Makefile
 		 example/generator/Makefile
 		 example/hello/Makefile