eal: optimize TSC routines when HPET is disabled
authorJerin Jacob <jerin.jacob@caviumnetworks.com>
Tue, 2 May 2017 05:19:51 +0000 (10:49 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 5 May 2017 13:38:42 +0000 (15:38 +0200)
Since DPDK has only two timer sources,
Avoid &eal_timer_source memory read and followed
by the switch case statement when
RTE_LIBEAL_USE_HPET is not defined.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
lib/librte_eal/common/include/generic/rte_cycles.h

index 00103ca..0e645c2 100644 (file)
@@ -150,15 +150,17 @@ int rte_eal_hpet_init(int make_default);
 static inline uint64_t
 rte_get_timer_cycles(void)
 {
+#ifdef RTE_LIBEAL_USE_HPET
        switch(eal_timer_source) {
        case EAL_TIMER_TSC:
+#endif
                return rte_get_tsc_cycles();
-       case EAL_TIMER_HPET:
 #ifdef RTE_LIBEAL_USE_HPET
+       case EAL_TIMER_HPET:
                return rte_get_hpet_cycles();
-#endif
        default: rte_panic("Invalid timer source specified\n");
        }
+#endif
 }
 
 /**
@@ -170,15 +172,17 @@ rte_get_timer_cycles(void)
 static inline uint64_t
 rte_get_timer_hz(void)
 {
+#ifdef RTE_LIBEAL_USE_HPET
        switch(eal_timer_source) {
        case EAL_TIMER_TSC:
+#endif
                return rte_get_tsc_hz();
-       case EAL_TIMER_HPET:
 #ifdef RTE_LIBEAL_USE_HPET
+       case EAL_TIMER_HPET:
                return rte_get_hpet_hz();
-#endif
        default: rte_panic("Invalid timer source specified\n");
        }
+#endif
 }
 /**
  * Wait at least us microseconds.