On Thursday 10 January 2008 09:47:16 Darren Hart wrote:
> On Thursday 10 January 2008 03:12:35 Sebastien Dugue wrote:
> >   Add a Missed period (calc took too long) check to
> > periodic_cpu_load just as is done in periodic_cpu_load_single.
> >
> > Signed-off-by: Sebastien Dugue <[EMAIL PROTECTED]>
>
> Acked-by: Darren Hart <[EMAIL PROTECTED]>

Eeek, sorry.  Nacked!  See below:

>
> > Cc: Darren Hart <[EMAIL PROTECTED]>
> > Cc: Tim Chavez <[EMAIL PROTECTED]>
> > ---
> >  .../func/periodic_cpu_load/periodic_cpu_load.c     |   11
> > +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git
> > a/testcases/realtime/func/periodic_cpu_load/periodic_cpu_load.c
> > b/testcases/realtime/func/periodic_cpu_load/periodic_cpu_load.c
> > index 2bf9c53..3c39ac3 100644
> > --- a/testcases/realtime/func/periodic_cpu_load/periodic_cpu_load.c
> > +++ b/testcases/realtime/func/periodic_cpu_load/periodic_cpu_load.c
> > @@ -127,7 +127,7 @@ void *periodic_thread(void *thread)
> >     void*(*func)(void*) = parg->func;
> >
> >     int i = 0;
> > -   nsec_t next;
> > +   nsec_t next, now;
> >     nsec_t exe_start, exe_end, exe_time;
> >
> >     next = rt_gettime();
> > @@ -146,7 +146,14 @@ void *periodic_thread(void *thread)
> >             dat[t->id].records[i].y = exe_time/NS_PER_US;
> >
> >             i++;
> > -           rt_nanosleep(next - rt_gettime());
> > +
> > +           now = rt_gettime();
> > +           if (now > next) {
> > +                   printf("Missed period, aborting (calc took too 
> > long)\n");
> > +                   fail[t->id] = 1;

fail is defined as an int, not an array.  This causes the build to fail.  
Simply replacing this line with:

fail = 1;

is an adequate fix.

> > +                   break;
> > +           }
> > +           rt_nanosleep(next - now);
> >     }
> >
> >     printf("TID %d (%c - prio %d) complete\n", t->id,
> > groupname[t->id>>2],



-- 
Darren Hart
IBM Linux Technology Center
Real-Time Linux Team

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to