X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fguides%2Fprog_guide%2Fprofile_app.rst;h=7093681983169f2a6bdd144e233a4a8174f9960d;hb=4d9fd85fb5458a3445bc3aabf971d0a3edb2dfb3;hp=a36ebef4db999ef96be1b3274525c882e6ee08c2;hpb=d629b7b5fe812f0040b83d27d2ada33b003aa918;p=dpdk.git diff --git a/doc/guides/prog_guide/profile_app.rst b/doc/guides/prog_guide/profile_app.rst index a36ebef4db..7093681983 100644 --- a/doc/guides/prog_guide/profile_app.rst +++ b/doc/guides/prog_guide/profile_app.rst @@ -33,14 +33,6 @@ Refer to the for details about application profiling. -Profiling with VTune -~~~~~~~~~~~~~~~~~~~~ - -To allow VTune attaching to the DPDK application, reconfigure and recompile -the DPDK with ``CONFIG_RTE_ETHDEV_RXTX_CALLBACKS`` and -``CONFIG_RTE_ETHDEV_PROFILE_WITH_VTUNE`` enabled. - - Profiling on ARM64 ------------------ @@ -57,11 +49,16 @@ For more derails refer to the `ARM64 specific PMU events enumeration `_. -High-resolution cycle counter -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Low-resolution generic counter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The default ``cntvct_el0`` based ``rte_rdtsc()`` provides a portable means to -get a wall clock counter in user space. Typically it runs at <= 100MHz. +get a wall clock counter in user space. Typically it runs at a lower clock frequency than the CPU clock frequency. +Cycles counted using this method should be scaled to CPU clock frequency. + + +High-resolution cycle counter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The alternative method to enable ``rte_rdtsc()`` for a high resolution wall clock counter is through the ARMv8 PMU subsystem. The PMU cycle counter runs @@ -71,8 +68,7 @@ cycle counter for user space access by configuring the PMU from the privileged mode (kernel space). By default the ``rte_rdtsc()`` implementation uses a portable ``cntvct_el0`` -scheme. Application can choose the PMU based implementation with -``CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU``. +scheme. The example below shows the steps to configure the PMU based cycle counter on an ARMv8 machine. @@ -83,10 +79,8 @@ an ARMv8 machine. cd armv8_pmu_cycle_counter_el0 make sudo insmod pmu_el0_cycle_counter.ko - cd $DPDK_DIR - make config T=arm64-armv8a-linux-gcc - echo "CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU=y" >> build/.config - make + +Please refer to :doc:`../linux_gsg/build_dpdk` for details on compiling DPDK with meson. .. warning::