On 04/04 21:59:15, Maxim Uvarov 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 is the retry count. Perhaps it could be a bit lower, or a bit higher, but
it works well.

> Maxim.
> 
> > +                   ev = odp_queue_deq(queue);
> > +                   if (ev != ODP_EVENT_INVALID)
> > +                           break;
> > +                   odp_cpu_pause();
> > +           }
> >  
> >             buf = odp_buffer_from_event(ev);
> >  
> > 
> 

Reply via email to