|
Packit Service |
aa3af4 |
# prof.m4 - Profiling, instrumentation
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
# Copyright (C) Mellanox Technologies Ltd. 2001-2020. ALL RIGHTS RESERVED.
|
|
Packit Service |
aa3af4 |
# See file LICENSE for terms.
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
##########################
|
|
Packit Service |
aa3af4 |
# libibprof profiling support
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
AC_DEFUN([PROF_IBPROF_SETUP],
|
|
Packit Service |
aa3af4 |
[
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([ibprof],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-ibprof],
|
|
Packit Service |
aa3af4 |
[Search ibprof location (default NO)]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_ibprof=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_ibprof" == xno],
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[AC_CHECK_HEADER(
|
|
Packit Service |
aa3af4 |
[$with_ibprof/include/ibprof_api.h],
|
|
Packit Service |
aa3af4 |
[
|
|
Packit Service |
aa3af4 |
CFLAGS="$CFLAGS -DVMA_TIME_IBPROF"
|
|
Packit Service |
aa3af4 |
CXXFLAGS="$CXXFLAGS -DVMA_TIME_IBPROF"
|
|
Packit Service |
aa3af4 |
CPPFLAGS="$CPPFLAGS -I$with_ibprof/include"
|
|
Packit Service |
aa3af4 |
if test -d "$with_ibprof/lib64"; then
|
|
Packit Service |
aa3af4 |
LDFLAGS="$LDFLAGS -L$with_ibprof/lib64 -Wl,--rpath,$with_ibprof/lib64"
|
|
Packit Service |
aa3af4 |
else
|
|
Packit Service |
aa3af4 |
LDFLAGS="$LDFLAGS -L$with_ibprof/lib -Wl,--rpath,$with_ibprof/lib"
|
|
Packit Service |
aa3af4 |
fi
|
|
Packit Service |
aa3af4 |
AC_SUBST([LIBIBPROF_LIBS], "-libprof")
|
|
Packit Service |
aa3af4 |
],
|
|
Packit Service |
aa3af4 |
[AC_MSG_ERROR([ibprof support requested, but <$with_ibprof/include/ibprof_api.h> not found.])])
|
|
Packit Service |
aa3af4 |
])
|
|
Packit Service |
aa3af4 |
])
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
##########################
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
# RDTSC measurements support
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
# ****** Total VMA RX********
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_CQE_RECEIVEFROM
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
# ******* Verbs Poll ***********
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_VERBS_IDLE_POLL
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_VERBS_READY_POLL
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
# ******* LWIP ***********
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_LWIP
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
# ******* Other RX ***********
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_DISPATCH_PACKET
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_AFTER_PROCCESS_BUFFER_TO_RECIVEFROM
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_VMA_TCP_IDLE_POLL
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_READY_POLL_TO_LWIP
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RX_LWIP_TO_RECEVEFROM
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
# ****** Total VMA TX ********
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_TX_SENDTO_TO_AFTER_POST_SEND
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
# ******* Verbs Post Send ***********
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_TX_VERBS_POST_SEND
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
# ******* App ***********
|
|
Packit Service |
aa3af4 |
# RDTSC_MEASURE_RECEIVEFROM_TO_SENDTO
|
|
Packit Service |
aa3af4 |
#
|
|
Packit Service |
aa3af4 |
AC_DEFUN([PROF_RDTSC_SETUP],
|
|
Packit Service |
aa3af4 |
[
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-cqe-recvfrom is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-cqe-recvfrom],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-cqe-recvfrom],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx CQE recvfrom]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_cqe_recvfrom=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_cqe_recvfrom" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_CQE_RECEIVEFROM], 1, [Define to 1 to enable rdtsc measurement of rx CQE recvfrom.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-verbs-idle-poll is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-verbs-idle-poll],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-verbs-idle-poll],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx verbs idle poll]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_verbs_idle_poll=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_verbs_idle_poll" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_VERBS_IDLE_POLL], 1, [Define to 1 to enable rdtsc measurement of rx verbs idle poll.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-verbs-ready-poll is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-verbs-ready-poll],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-verbs-ready-poll],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx verbs ready poll]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_verbs_ready_poll=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_verbs_ready_poll" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_VERBS_READY_POLL], 1, [Define to 1 to enable rdtsc measurement of rx verbs ready poll.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-lwip is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-lwip],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-lwip],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx lwip]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_lwip=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_lwip" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_LWIP], 1, [Define to 1 to enable rdtsc measurement of rx lwip.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-dispatch-packet is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-dispatch-packet],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-dispatch-packet],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx dispatch packet]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_dispatch_packet=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_dispatch_packet" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_DISPATCH_PACKET], 1, [Define to 1 to enable rdtsc measurement of rx dispatch packet.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-after-process-buffer-to-receivefrom is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-after-process-buffer-to-receivefrom],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-after-process-buffer-to-receivefrom],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx after process buffer to receivefrom]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_after_process_buffer_to_receivefrom=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_after_process_buffer_to_receivefrom" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_AFTER_PROCCESS_BUFFER_TO_RECIVEFROM], 1, [Define to 1 to enable rdtsc measurement of rx after process buffer to receivefrom.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-vma-tcp-idle-poll is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-vma-tcp-idle-poll],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-vma-tcp-idle-poll],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx vma tcp idle poll]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_vma_tcp_idle_poll=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_vma_tcp_idle_poll" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_VMA_TCP_IDLE_POLL], 1, [Define to 1 to enable rdtsc measurement of rx vma tcp idle poll.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-ready-poll-to-lwip is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-ready-poll-to-lwip],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-ready-poll-to-lwip],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx ready poll to lwip]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_ready_poll_to_lwip=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_ready_poll_to_lwip" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_READY_POLL_TO_LWIP], 1, [Define to 1 to enable rdtsc measurement of rx ready poll to lwip.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-rx-lwip-to-receivefrom is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-rx-lwip-to-receivefrom],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-rx-lwip-to-receivefrom],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of rx lwip to receivefrom]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_rx_lwip_to_receivefrom=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_rx_lwip_to_receivefrom" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RX_LWIP_TO_RECEVEFROM], 1, [Define to 1 to enable rdtsc measurement of rx lwip to receivefrom.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-tx-sendto-to-after-post-send is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-tx-sendto-to-after-post-send],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-tx-sendto-to-after-post-send],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of tx sendto to after post send]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_tx_sendto_to_after_post_send=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_tx_sendto_to_after_post_send" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_TX_SENDTO_TO_AFTER_POST_SEND], 1, [Define to 1 to enable rdtsc measurement of tx sendto to after port send.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-tx-verbs-post-send is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-tx-verbs-post-send],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-tx-verbs-post-send],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of tx verbs post send]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_tx_verbs_post_send=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_tx_verbs_post_send" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_TX_VERBS_POST_SEND], 1, [Define to 1 to enable rdtsc measurement of tx verbs post send.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AC_MSG_CHECKING([if rdtsc-receivefrom-to-sendto is enabled])
|
|
Packit Service |
aa3af4 |
AC_ARG_WITH([rdtsc-receivefrom-to-sendto],
|
|
Packit Service |
aa3af4 |
AC_HELP_STRING([--with-rdtsc-receivefrom-to-sendto],
|
|
Packit Service |
aa3af4 |
[Enable rdtsc measurement of receivefrom to sendto]),
|
|
Packit Service |
aa3af4 |
[],
|
|
Packit Service |
aa3af4 |
[with_rdtsc_receivefrom_to_sendto=no]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
|
|
Packit Service |
aa3af4 |
AS_IF([test "x$with_rdtsc_receivefrom_to_sendto" == xyes],
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE], 1, [Define to 1 to enable rdtsc measurements.])]
|
|
Packit Service |
aa3af4 |
[AC_DEFINE([RDTSC_MEASURE_RECEIVEFROM_TO_SENDTO], 1, [Define to 1 to enable rdtsc measurement of receivefrom to sendto.])]
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([yes])],
|
|
Packit Service |
aa3af4 |
[AC_MSG_RESULT([no])]
|
|
Packit Service |
aa3af4 |
)
|
|
Packit Service |
aa3af4 |
])
|