Acknowledging to receive all your Patches being signed off and acked. I
will go through them before applying.
Jeff, Mike, Sudhanshu and others, can you please verify the RT test
cases with these new patches ?
Regards--
Subrata
On Thu, 2008-01-10 at 18:40 +0100, Jean-Pierre Dion wrote:
> Hi Darren,
>
> thank you for these acks and comments !
>
> I wish you and Tim a Happy New Year.
>
>
> jean-pierre
>
>
> Darren Hart a écrit :
> > On Thursday 10 January 2008 03:12:28 Sebastien Dugue wrote:
> >
> >> The thread waiting on the condvar may miss a wakeup if the
> >> signaling thread does not lock the mutex before calling
> >> pthread_cond_signal().
> >>
> >> Also remove the unneeded locking when recording the statistics.
> >>
> >> Signed-off-by: Sebastien Dugue <[EMAIL PROTECTED]>
> >>
> >
> > Acked-by: Darren Hart <[EMAIL PROTECTED]>
> >
> >
> >> Cc: Darren Hart <[EMAIL PROTECTED]>
> >> Cc: Tim Chavez <[EMAIL PROTECTED]>
> >> ---
> >> .../realtime/func/async_handler/async_handler.c | 4 +---
> >> .../func/async_handler/async_handler_tsc.c | 4 +---
> >> 2 files changed, 2 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/testcases/realtime/func/async_handler/async_handler.c
> >> b/testcases/realtime/func/async_handler/async_handler.c index
> >> f5ba9c8..7a73116 100644
> >> --- a/testcases/realtime/func/async_handler/async_handler.c
> >> +++ b/testcases/realtime/func/async_handler/async_handler.c
> >> @@ -137,17 +137,16 @@ void *handler_thread(void *arg)
> >> usleep(10);
> >> pthread_mutex_lock(&mutex);
> >> start = rt_gettime();
> >> - pthread_mutex_unlock(&mutex);
> >> if (pthread_cond_signal(&cond) != 0) {
> >> perror("pthread_cond_signal");
> >> atomic_set(CHILD_QUIT, &step);
> >> break;
> >> }
> >> + pthread_mutex_unlock(&mutex);
> >>
> >> /* wait for the event handler to schedule */
> >> while (atomic_get(&step) != CHILD_HANDLED)
> >> usleep(10);
> >> - pthread_mutex_lock(&mutex);
> >> delta = (long)((end - start)/NS_PER_US);
> >> if (delta > PASS_US)
> >> ret = 1;
> >> @@ -160,7 +159,6 @@ void *handler_thread(void *arg)
> >> max = MAX(max, delta);
> >> }
> >> atomic_set((i == iterations-1) ? CHILD_QUIT : CHILD_START,
> >> &step);
> >> - pthread_mutex_unlock(&mutex);
> >> }
> >> printf("recording statistics...\n");
> >> printf("Min: %ld us\n", min);
> >> diff --git
> >> a/testcases/realtime/func/async_handler/async_handler_tsc.c
> >> b/testcases/realtime/func/async_handler/async_handler_tsc.c index
> >> 8cbbbdc..6131a8b 100644
> >> --- a/testcases/realtime/func/async_handler/async_handler_tsc.c
> >> +++ b/testcases/realtime/func/async_handler/async_handler_tsc.c
> >> @@ -187,17 +187,16 @@ void *handler_thread(void *arg)
> >> usleep(10);
> >> pthread_mutex_lock(&mutex);
> >> rdtscll(start);
> >> - pthread_mutex_unlock(&mutex);
> >> if (pthread_cond_signal(&cond) != 0) {
> >> perror("pthread_cond_signal");
> >> atomic_set(CHILD_QUIT, &step);
> >> break;
> >> }
> >> + pthread_mutex_unlock(&mutex);
> >>
> >> /* wait for the event handler to schedule */
> >> while (atomic_get(&step) != CHILD_HANDLED)
> >> usleep(10);
> >> - pthread_mutex_lock(&mutex);
> >> delta = (long)(tsc_period * (end - start) / 1000000);
> >> if (delta > 30) {
> >> over_30++;
> >> @@ -215,7 +214,6 @@ void *handler_thread(void *arg)
> >> max = MAX(max, delta);
> >> }
> >> atomic_set((i == ITERATIONS-1) ? CHILD_QUIT : CHILD_START,
> >> &step);
> >> - pthread_mutex_unlock(&mutex);
> >> }
> >> printf("recording statistics...\n");
> >> printf("Minimum: %ld\n", min);
> >>
> >
> >
> >
> >
>
>
> -------------------------------------------------------------------------
> 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
-------------------------------------------------------------------------
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