On Thu, 10 Jan 2008 12:01:31 -0800 Darren Hart <[EMAIL PROTECTED]> wrote:
> 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.
>
I redefined fail as: int fail[THREADS_PER_GROUP * NUM_GROUPS]; in the
previous patch. I can't see how it can fail to build (and it does build
and run fine here).
Sebastien.
-------------------------------------------------------------------------
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