X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_cycles.c;h=66d11e6db8922aa9e27fc9f89e95b4f240623b47;hb=ff6fcd415f4b2be7572abffa5284978c176d3de4;hp=c78e6a5b126fcc526a31980954643ea2b890d871;hpb=a9de470cc7c0649221e156fc5f30a2dbdfe7c166;p=dpdk.git diff --git a/app/test/test_cycles.c b/app/test/test_cycles.c index c78e6a5b12..66d11e6db8 100644 --- a/app/test/test_cycles.c +++ b/app/test/test_cycles.c @@ -10,81 +10,6 @@ #include "test.h" -#define N 10000 - -/* - * Cycles test - * =========== - * - * - Loop N times and check that the timer always increments and - * never decrements during this loop. - * - * - Wait one second using rte_usleep() and check that the increment - * of cycles is correct with regard to the frequency of the timer. - */ - -static int -check_wait_one_second(void) -{ - uint64_t cycles, prev_cycles; - uint64_t hz = rte_get_timer_hz(); - uint64_t max_inc = (hz / 100); /* 10 ms max between 2 reads */ - - /* check that waiting 1 second is precise */ - prev_cycles = rte_get_timer_cycles(); - rte_delay_us(1000000); - cycles = rte_get_timer_cycles(); - - if ((uint64_t)(cycles - prev_cycles) > (hz + max_inc)) { - printf("delay_us is not accurate: too long\n"); - return -1; - } - if ((uint64_t)(cycles - prev_cycles) < (hz - max_inc)) { - printf("delay_us is not accurate: too short\n"); - return -1; - } - - return 0; -} - -static int -test_cycles(void) -{ - unsigned i; - uint64_t start_cycles, cycles, prev_cycles; - uint64_t hz = rte_get_timer_hz(); - uint64_t max_inc = (hz / 100); /* 10 ms max between 2 reads */ - - /* check that the timer is always incrementing */ - start_cycles = rte_get_timer_cycles(); - prev_cycles = start_cycles; - for (i=0; i max_inc) { - printf("increment too high or going backwards\n"); - return -1; - } - prev_cycles = cycles; - } - - return check_wait_one_second(); -} - -REGISTER_TEST_COMMAND(cycles_autotest, test_cycles); - -/* - * One second precision test with rte_delay_us_sleep. - */ - -static int -test_delay_us_sleep(void) -{ - rte_delay_us_callback_register(rte_delay_us_sleep); - return check_wait_one_second(); -} - -REGISTER_TEST_COMMAND(delay_us_sleep_autotest, test_delay_us_sleep); - /* * rte_delay_us_callback test *