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

Thomas Monjalon thomas at monjalon.net
Fri Oct 13 02:02:43 CEST 2017


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)


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