Skip to content

Commit 87fd77f

Browse files
authored
Merge pull request icl-utk-edu#237 from djwoun/config_perf
Configure | run_test.sh : Disable perf_event and perf_event_uncore
2 parents 95ef27b + 3260466 commit 87fd77f

File tree

9 files changed

+364
-143
lines changed

9 files changed

+364
-143
lines changed

src/configure

Lines changed: 122 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -796,10 +796,12 @@ with_pfm_root
796796
with_pfm_prefix
797797
with_pfm_incdir
798798
with_pfm_libdir
799+
enable_cpu
800+
enable_perf_event
801+
enable_perf_event_uncore
799802
with_perf_events
800803
enable_perfevent_rdpmc
801804
with_pe_incdir
802-
enable_perf_event_uncore
803805
with_sysdetect
804806
with_components
805807
enable_fortran
@@ -1436,11 +1438,13 @@ Optional Features:
14361438
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
14371439
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
14381440
--enable-warnings Enable build with -Wall -Wextra (default: disabled)
1441+
--disable-cpu Disable cpu component
1442+
--disable-perf-event Disable perf_event component
1443+
--disable-perf-event-uncore
1444+
Disable perf_event_uncore component
14391445
--enable-perfevent-rdpmc
14401446
Enable userspace rdpmc instruction on perf_event,
14411447
default: yes
1442-
--disable-perf-event-uncore
1443-
Disable perf_event uncore component
14441448
--disable-fortran Whether to disable fortran bindings
14451449
14461450
Optional Packages:
@@ -4459,7 +4463,8 @@ rm -f core conftest.err conftest.$ac_objext \
44594463
$as_echo "found" >&6; }
44604464
LRT="-lrt -lpthread"
44614465
else
4462-
as_fn_error $? "cannot find timer_create and timer_*ettime symbols neither in the base system libraries nor in -lrt, nor in -lrt -lpthread" "$LINENO" 5
4466+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
4467+
$as_echo "not found" >&6; }
44634468
fi
44644469
fi
44654470
fi
@@ -5944,12 +5949,96 @@ fi
59445949
# Linux perf_event/perf_counter
59455950
##################################################
59465951
5952+
perf_events=yes
5953+
force_perf_events=no
5954+
perf_events_uncore=yes
5955+
59475956
if test "x$mic" = "xno"; then
59485957
perf_events=no
59495958
fi
59505959
5951-
force_perf_events=no
5952-
disable_uncore=yes
5960+
awk '
5961+
/^# validation_tests:[[:space:]]+\$\(LIBS\)[[:space:]]+testlib$/ { sub(/^# /, ""); print; next }
5962+
/^# \t\$\(SETPATH\)[[:space:]]+\$\(MAKE\)[[:space:]]+-C[[:space:]]+validation_tests$/ { sub(/^# /, ""); print; next }
5963+
# ctests lines
5964+
/^# ctests:[[:space:]]+\$\(LIBS\)[[:space:]]+testlib[[:space:]]+validation_tests$/ { sub(/^# /, ""); print; next }
5965+
/^# \t\$\(SETPATH\)[[:space:]]+\$\(MAKE\)[[:space:]]+-C[[:space:]]+ctests$/ { sub(/^# /, ""); print; next }
5966+
# ftests lines
5967+
/^# ftests:[[:space:]]+\$\(LIBS\)[[:space:]]+testlib$/ { sub(/^# /, ""); print; next }
5968+
/^# \t\$\(SETPATH\)[[:space:]]+\$\(MAKE\)[[:space:]]+-C[[:space:]]+ftests$/ { sub(/^# /, ""); print; next }
5969+
{ print }
5970+
' "Makefile.inc" > "t_Makefile.inc"
5971+
mv "t_Makefile.inc" "Makefile.inc"
5972+
5973+
# Check whether --enable-cpu was given.
5974+
if test "${enable_cpu+set}" = set; then :
5975+
enableval=$enable_cpu;
5976+
fi
5977+
5978+
5979+
if test "x$enable_cpu" = "xno"; then :
5980+
5981+
perf_events=no
5982+
force_perf_events=no
5983+
perf_events_uncore=no
5984+
5985+
FILE_PATH="Makefile.inc"
5986+
TEMP_FILE="temp_$FILE_PATH"
5987+
5988+
# Comment out lines to disable ctest ftest vtest
5989+
awk '
5990+
/^validation_tests:[:space:]+\$\(LIBS\)[:space:]+testlib$/ { print "# " $0; next }
5991+
/^\t\$\(SETPATH\)[:space:]+\$\(MAKE\)[:space:]+-C[:space:]+validation_tests$/ { print "# " $0; next }
5992+
/^ctests:[:space:]+\$\(LIBS\)[:space:]+testlib[:space:]+validation_tests$/ { print "# " $0; next }
5993+
/^\t\$\(SETPATH\)[:space:]+\$\(MAKE\)[:space:]+-C[:space:]+ctests$/ { print "# " $0; next }
5994+
/^ftests:[:space:]+\$\(LIBS\)[:space:]+testlib$/ { print "# " $0; next }
5995+
/^\t\$\(SETPATH\)[:space:]+\$\(MAKE\)[:space:]+-C[:space:]+ftests$/ { print "# " $0; next }
5996+
{ print }
5997+
' "$FILE_PATH" > "$TEMP_FILE"
5998+
mv "$TEMP_FILE" "$FILE_PATH"
5999+
6000+
fi
6001+
6002+
# Check whether --enable-perf_event was given.
6003+
if test "${enable_perf_event+set}" = set; then :
6004+
enableval=$enable_perf_event;
6005+
fi
6006+
6007+
6008+
if test "x$enable_perf_event" = "xno"; then :
6009+
6010+
perf_events=no
6011+
force_perf_events=no
6012+
6013+
FILE_PATH="Makefile.inc"
6014+
TEMP_FILE="temp_$FILE_PATH"
6015+
6016+
awk '
6017+
/^validation_tests:[:space:]+\$\(LIBS\)[:space:]+testlib$/ { print "# " $0; next }
6018+
/^\t\$\(SETPATH\)[:space:]+\$\(MAKE\)[:space:]+-C[:space:]+validation_tests$/ { print "# " $0; next }
6019+
/^ctests:[:space:]+\$\(LIBS\)[:space:]+testlib[:space:]+validation_tests$/ { print "# " $0; next }
6020+
/^\t\$\(SETPATH\)[:space:]+\$\(MAKE\)[:space:]+-C[:space:]+ctests$/ { print "# " $0; next }
6021+
/^ftests:[:space:]+\$\(LIBS\)[:space:]+testlib$/ { print "# " $0; next }
6022+
/^\t\$\(SETPATH\)[:space:]+\$\(MAKE\)[:space:]+-C[:space:]+ftests$/ { print "# " $0; next }
6023+
{ print }
6024+
' "$FILE_PATH" > "$TEMP_FILE"
6025+
mv "$TEMP_FILE" "$FILE_PATH"
6026+
6027+
fi
6028+
6029+
# Check whether --enable-perf_event_uncore was given.
6030+
if test "${enable_perf_event_uncore+set}" = set; then :
6031+
enableval=$enable_perf_event_uncore;
6032+
fi
6033+
6034+
6035+
if test "x$enable_perf_event_uncore" = "xno"; then :
6036+
6037+
perf_events_uncore=no
6038+
6039+
6040+
fi
6041+
59536042
59546043
59556044
# Check whether --with-perf_events was given.
@@ -5989,18 +6078,6 @@ else
59896078
fi
59906079
59916080
5992-
# Check whether --enable-perf_event_uncore was given.
5993-
if test "${enable_perf_event_uncore+set}" = set; then :
5994-
enableval=$enable_perf_event_uncore;
5995-
fi
5996-
5997-
5998-
if test "x$enable_perf_event_uncore" != "xno"; then :
5999-
6000-
disable_uncore=no
6001-
6002-
fi
6003-
60046081
# Check for perf_event.h
60056082
if test "$force_perf_events" = "yes"; then
60066083
perf_events="yes"
@@ -6024,7 +6101,7 @@ $as_echo "$ac_cv_file__proc_sys_kernel_perf_event_paranoid" >&6; }
60246101
if test "x$ac_cv_file__proc_sys_kernel_perf_event_paranoid" = xyes; then :
60256102
60266103
have_paranoid=yes
6027-
as_ac_File=`$as_echo "ac_cv_file_$pe_incdir/perf_event.h" | $as_tr_sh`
6104+
as_ac_File=`$as_echo "ac_cv_file_$pe_incdir/perf_event.h" | $as_tr_sh`
60286105
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $pe_incdir/perf_event.h" >&5
60296106
$as_echo_n "checking for $pe_incdir/perf_event.h... " >&6; }
60306107
if eval \${$as_ac_File+:} false; then :
@@ -6042,7 +6119,11 @@ eval ac_res=\$$as_ac_File
60426119
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
60436120
$as_echo "$ac_res" >&6; }
60446121
if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
6045-
perf_events="yes"
6122+
6123+
if test "$perf_events" != "no"; then
6124+
perf_events="yes"
6125+
fi
6126+
60466127
fi
60476128
60486129
@@ -6607,8 +6688,15 @@ elif test "$MAKEVER" = "linux-generic"; then
66076688
elif test "$MAKEVER" = "linux-pe"; then
66086689
FILENAME=Rules.pfm4_pe
66096690
CPUCOMPONENT_NAME=perf_event
6610-
components="perf_event"
6611-
if test "$disable_uncore" = "no"; then
6691+
if test "$perf_events" = "no"; then
6692+
components="$components"
6693+
else
6694+
components="$components perf_event"
6695+
fi
6696+
6697+
if test "$perf_events_uncore" = "no"; then
6698+
components="$components"
6699+
else
66126700
components="$components perf_event_uncore"
66136701
fi
66146702
@@ -6739,6 +6827,7 @@ else
67396827
with_sysdetect=yes
67406828
fi
67416829
6830+
# Enable sysdetect unless the user has explicitly told us not to.
67426831
if test "$with_sysdetect" = "yes"; then
67436832
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
67446833
$as_echo "yes" >&6; }
@@ -6758,10 +6847,16 @@ echo "" >> components_config.h
67586847
67596848
# Check whether --with-components was given.
67606849
if test "${with_components+set}" = set; then :
6761-
withval=$with_components; components="$components $withval"
6850+
withval=$with_components;
6851+
if test -n "${with_components//[[:space:]]/}"; then
6852+
components="$components $withval"
6853+
fi
6854+
6855+
67626856
fi
67636857
67646858
6859+
67656860
# This is an ugly hack to keep building on configurations covered by any-null in the past.
67666861
if test "$VECTOR" = "_papi_dummy_vector"; then
67676862
if test "x$components" = "x"; then
@@ -6776,7 +6871,7 @@ if test "$VECTOR" = "_papi_dummy_vector"; then
67766871
.num_native_events = 0,
67776872
.num_preset_events = 0,
67786873
.num_cntrs = 0,
6779-
.name = \"Your system is unsupported! \",
6874+
.name = \"No Components Configured. \",
67806875
.short_name = \"UNSUPPORTED!\"
67816876
},
67826877
.dispatch_timer = NULL,
@@ -6817,7 +6912,9 @@ fi
68176912
68186913
# Enable sysdetect unless the user has explicitly told us not to.
68196914
if test "$with_sysdetect" = "yes"; then
6820-
components="$components sysdetect"
6915+
if test "$perf_events" != "no"; then
6916+
components="$components sysdetect"
6917+
fi
68216918
fi
68226919
68236920
PAPI_NUM_COMP=0

0 commit comments

Comments
 (0)