On 2015-01-15 08:49, Mike Holmes wrote:
> On 15 January 2015 at 06:36, Ola Liljedahl <ola.liljed...@linaro.org> wrote:
> 
> > On 15 January 2015 at 12:22, Savolainen, Petri (NSN - FI/Espoo)
> > <petri.savolai...@nsn.com> wrote:
> > >
> > >
> > >> -----Original Message-----
> > >> From: lng-odp-boun...@lists.linaro.org [mailto:lng-odp-
> > >> boun...@lists.linaro.org] On Behalf Of ext Ola Liljedahl
> > >> Sent: Thursday, January 15, 2015 12:07 PM
> > >> To: lng-odp@lists.linaro.org
> > >> Subject: [lng-odp] [PATCH] example: odp_timer_test.c: bug 1068 -
> > >> odp_timer_test aborts
> > >>
> > >> Since the scheduler does not guarantee fairness in scheduling, threads
> > >> must
> > >> time out and check if the example is still running. If this is the case,
> > >> just restart the scheduler loop (not the whole example loop which may
> > have
> > >> other side effects, e.g. resetting timers with some random tick value),
> > >> otherwise break out of the example loop which will terminate the
> > example.
> > >>
> > >> Signed-off-by: Ola Liljedahl <ola.liljed...@linaro.org>
> >
> 
> Missing Reported-by

and I'm not sure that the short log should contain the bug
number... if we want bug number I think that should go into the
description.

Cheers,
Anders

> 
> 
> > >> ---
> > >> (This document/code contribution attached is provided under the terms of
> > >> agreement LES-LTM-21309)
> > >>
> > >>  example/timer/odp_timer_test.c | 21 +++++++++++++++------
> > >>  1 file changed, 15 insertions(+), 6 deletions(-)
> > >>
> > >> diff --git a/example/timer/odp_timer_test.c
> > >> b/example/timer/odp_timer_test.c
> > >> index 5de499b..dfd6c70 100644
> > >> --- a/example/timer/odp_timer_test.c
> > >> +++ b/example/timer/odp_timer_test.c
> > >> @@ -126,13 +126,22 @@ static void test_abs_timeouts(int thr, test_args_t
> > >> *args)
> > >>               }
> > >>
> > >>               /* Get the next expired timeout */
> > >> -             /* Use 1.5 second timeout for scheduler */
> > >> -             uint64_t sched_tmo =
> > odp_schedule_wait_time(1500000000ULL);
> > >> -             buf = odp_schedule(&queue, sched_tmo);
> > >> -             /* Check if odp_schedule() timed out, possibly there are
> > no
> > >> -              * remaining timeouts to receive */
> > >> +             /* We invoke the scheduler in a loop with a timeout
> > because
> > >> +              * we are not guaranteed to receive any more timeouts. The
> > >> +              * scheduler isn't guaranteeing fairness when scheduling
> > >> +              * buffers to threads */
> > >> +             do {
> > >> +                     /* Use 1.5 second timeout for scheduler */
> > >> +                     uint64_t sched_tmo =
> > >> +                             odp_schedule_wait_time(1500000000ULL);
> > >
> > > No need to repeat wait time conversion in the loop. It's better to keep
> > it out side of the loop since this is an example and should demonstrate the
> > correct/elegant way of using the APIs.
> > Calling odp_schedule() with a long timeout in a loop is IMO not a very
> > elegant way of using the scheduler API. It is a brutal work-around.
> >
> > -- Ola
> >
> > >
> > > -Petri
> > >
> > >> +                     buf = odp_schedule(&queue, sched_tmo);
> > >> +                     /* Check if odp_schedule() timed out, possibly
> > there
> > >> +                      * are no remaining timeouts to receive */
> > >> +             } while (buf == ODP_BUFFER_INVALID &&
> > >> +                      (int)odp_atomic_load_u32(&remain) > 0);
> > >> +
> > >>               if (buf == ODP_BUFFER_INVALID)
> > >> -                     continue; /* Re-check the remain counter */
> > >> +                     break; /* No more timeouts */
> > >>               if (odp_buffer_type(buf) != ODP_BUFFER_TYPE_TIMEOUT) {
> > >>                       /* Not a default timeout buffer */
> > >>                       EXAMPLE_ABORT("Unexpected buffer type (%u)
> > received\n",
> > >> --
> > >> 1.9.1
> > >>
> > >>
> > >> _______________________________________________
> > >> lng-odp mailing list
> > >> lng-odp@lists.linaro.org
> > >> http://lists.linaro.org/mailman/listinfo/lng-odp
> >
> > _______________________________________________
> > lng-odp mailing list
> > lng-odp@lists.linaro.org
> > http://lists.linaro.org/mailman/listinfo/lng-odp
> >
> 
> 
> 
> -- 
> *Mike Holmes*
> Linaro  Sr Technical Manager
> LNG - ODP

> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/lng-odp


-- 
Anders Roxell
anders.rox...@linaro.org
M: +46 709 71 42 85 | IRC: roxell

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to