[dpdk-dev] [PATCH 0/4] improve tsc frequency calibration

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Oct 13 05:21:07 CEST 2017


-----Original Message-----
> Date: Fri, 13 Oct 2017 02:02:43 +0200
> From: Thomas Monjalon <thomas at monjalon.net>
> To: gowrishankar.m at linux.vnet.ibm.com, jerin.jacob at caviumnetworks.com,
>  jianbo.liu at linaro.org, sergio.gonzalez.monroy at intel.com,
>  bruce.richardson at intel.com
> Cc: dev at dpdk.org
> Subject: [PATCH 0/4] improve tsc frequency calibration
> X-Mailer: git-send-email 2.14.1
> 
> v3 changes:
> - implement in .c files instead of exporting an inline arch function
> - rename arch function from rte_rdtsc_arch_hz to get_tsc_freq_arch
> - integrate x86 implementation in the series
> - fix private EAL include in PPC implementation (not tested)

Thanks Thomas.

Tested on a arm64 machine.

Tested-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>

> 
> 
> From: Gowrishankar Muthukrishnan <gowrishankar.m at linux.vnet.ibm.com>
> 
> Some architecture like armv8 provides an architecture specific function
> to get the rdtsc frequency. The existing rdtsc calibration scheme uses
> OS serivce like sleep(1) to calibrate the frequency which may not
> produce the accurate result. Introducing an architecture specific hook
> to get the rdtsc frequency if architecture provides it. If not, use the
> exiting the calibrate scheme to get the rdtsc frequency.
> 
> Jerin Jacob (3):
>   timer: honor arch-specific TSC frequency query
>   eal/armv8: implement arch-specific TSC freq query
>   eal/ppc64: implement arch-specific TSC freq query
> 
> Sergio Gonzalez Monroy (1):
>   eal/x86: implement arch-specific TSC freq query
> 
>  lib/librte_eal/bsdapp/eal/Makefile                 |   1 +
>  lib/librte_eal/common/arch/arm/rte_cycles.c        |  45 +++++++
>  .../ppc_64/rte_cycles.c}                           |  78 ++---------
>  .../{eal_common_timer.c => arch/x86/rte_cycles.c}  | 143 ++++++++++++++-------
>  lib/librte_eal/common/eal_common_timer.c           |   5 +-
>  lib/librte_eal/common/eal_private.h                |  11 ++
>  lib/librte_eal/linuxapp/eal/Makefile               |   1 +
>  7 files changed, 170 insertions(+), 114 deletions(-)
>  create mode 100644 lib/librte_eal/common/arch/arm/rte_cycles.c
>  copy lib/librte_eal/common/{eal_common_timer.c => arch/ppc_64/rte_cycles.c} (50%)
>  copy lib/librte_eal/common/{eal_common_timer.c => arch/x86/rte_cycles.c} (50%)
> 
> -- 
> 2.14.1
> 


More information about the dev mailing list