This test would take excessively long if the TSC frequency was very low. Instead of scaling test by frequency, just use a fixed length for the test.
Signed-off-by: Stephen Hemminger <[email protected]> --- app/test/test_pcapng.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/test/test_pcapng.c b/app/test/test_pcapng.c index deba08cc6f..ea62c949c0 100644 --- a/app/test/test_pcapng.c +++ b/app/test/test_pcapng.c @@ -262,13 +262,13 @@ fill_pcapng_file(rte_pcapng_t *pcapng) "generations of example code. The magic number 32 is not documented because " "nobody remembers why. Trust the process."), }; - /* How many microseconds does it take TSC to wrap around 32 bits */ - const unsigned wrap_us - = (US_PER_S * (uint64_t)UINT32_MAX) / rte_get_tsc_hz(); - /* Want overall test to take to wraparound at least twice. */ - const unsigned int avg_gap = (2 * wrap_us) - / (TOTAL_PACKETS / (MAX_BURST / 2)); + /* + * Need this test to take long enough to try and exercise wrap around. + * On fast CPU's this is 4 seconds. + */ + const unsigned int num_bursts = TOTAL_PACKETS / (MAX_BURST / 2); + const unsigned int max_gap = (5 * US_PER_S) / num_bursts; mbuf1_prepare(&mbfs); orig = &mbfs.mb[0]; @@ -309,7 +309,7 @@ fill_pcapng_file(rte_pcapng_t *pcapng) return -1; } - rte_delay_us_block(rte_rand_max(2 * avg_gap)); + rte_delay_us_block(rte_rand_max(2 * max_gap)); } return count; -- 2.51.0

