On 4 April 2017 at 20:59, Maxim Uvarov <[email protected]> wrote: > On 04/04/17 21:47, Brian Brooks wrote: >> Signed-off-by: Ola Liljedahl <[email protected]> >> Reviewed-by: Brian Brooks <[email protected]> >> Reviewed-by: Honnappa Nagarahalli <[email protected]> >> Reviewed-by: Kevin Wang <[email protected]> >> --- >> test/common_plat/performance/odp_scheduling.c | 12 ++++++++++-- >> 1 file changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/test/common_plat/performance/odp_scheduling.c >> b/test/common_plat/performance/odp_scheduling.c >> index c74a0713..38e76257 100644 >> --- a/test/common_plat/performance/odp_scheduling.c >> +++ b/test/common_plat/performance/odp_scheduling.c >> @@ -273,7 +273,7 @@ static int test_plain_queue(int thr, test_globals_t >> *globals) >> test_message_t *t_msg; >> odp_queue_t queue; >> uint64_t c1, c2, cycles; >> - int i; >> + int i, j; >> >> /* Alloc test message */ >> buf = odp_buffer_alloc(globals->pool); >> @@ -307,7 +307,15 @@ static int test_plain_queue(int thr, test_globals_t >> *globals) >> return -1; >> } >> >> - ev = odp_queue_deq(queue); >> + /* When enqueue and dequeue are decoupled (e.g. not using a >> + * common lock), an enqueued event may not be immediately >> + * visible to dequeue. So we just try again for a while. */ >> + for (j = 0; j < 100; j++) { > > where 100 number comes from? It's a nice round number.
https://www.google.se/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=nice+round+number&* > > Maxim. > >> + ev = odp_queue_deq(queue); >> + if (ev != ODP_EVENT_INVALID) >> + break; >> + odp_cpu_pause(); >> + } >> >> buf = odp_buffer_from_event(ev); >> >> >
