Blame config/m4/prof.m4

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
])