From: gowrishankar <[email protected]>

Instead of lock/unlock of mutex to burn cpu cycles, we can use busy_work_ms
from librttest which is more explicit (burn cycles, not provide some
synchronization).

Also this patch removes the id increment since it is not used.

Signed-off-by: Gowrishankar <[email protected]>
Tested-by: Gowrishankar <[email protected]>
Acked-by: John Stultz <[email protected]>
Acked-by: Darren Hart <[email protected]>
---
 testcases/realtime/func/pi-tests/testpi-1.c |   24 ++++++------------------
 testcases/realtime/func/pi-tests/testpi-2.c |   24 ++++++------------------
 2 files changed, 12 insertions(+), 36 deletions(-)

diff --git a/testcases/realtime/func/pi-tests/testpi-1.c 
b/testcases/realtime/func/pi-tests/testpi-1.c
index 25541d7..71b01ec 100644
--- a/testcases/realtime/func/pi-tests/testpi-1.c
+++ b/testcases/realtime/func/pi-tests/testpi-1.c
@@ -81,7 +81,7 @@ pthread_mutex_t glob_mutex;
 void *func_nonrt(void *arg)
 {
        struct thread *pthr = (struct thread *)arg;
-       int i, j, tid = gettid();
+       int i, tid = gettid();
 
        printf("Thread %d started running with priority %d\n", tid,\
                pthr->priority);
@@ -97,11 +97,7 @@ void *func_nonrt(void *arg)
                                tid, i,  pthr->policy, pthr->priority);
                        fflush(NULL);
                }
-               pthr->id++;
-               for (j = 0; j < 5000; j++) {
-                       pthread_mutex_lock(&(pthr->mutex));
-                       pthread_mutex_unlock(&(pthr->mutex));
-               }
+               busy_work_ms(1);
        }
        pthread_mutex_unlock(&glob_mutex);
        return NULL;
@@ -110,7 +106,7 @@ void *func_nonrt(void *arg)
 void *func_rt(void *arg)
 {
        struct thread *pthr = (struct thread *)arg;
-       int i, j, tid = gettid();
+       int i, tid = gettid();
 
        printf("Thread %d started running with prio %d\n", tid, pthr->priority);
        pthread_barrier_wait(&barrier);
@@ -129,11 +125,7 @@ void *func_rt(void *arg)
                                tid, i, pthr->policy, pthr->priority);
                        fflush(NULL);
                }
-               pthr->id++;
-               for (j = 0; j < 5000; j++) {
-                       pthread_mutex_lock(&(pthr->mutex));
-                       pthread_mutex_unlock(&(pthr->mutex));
-               }
+               busy_work_ms(1);
        }
        pthread_mutex_unlock(&glob_mutex);
        return NULL;
@@ -142,7 +134,7 @@ void *func_rt(void *arg)
 void *func_noise(void *arg)
 {
        struct thread *pthr = (struct thread *)arg;
-       int i, j, tid = gettid();
+       int i, tid = gettid();
 
        printf("Noise Thread %d started running with prio %d\n", tid,
                pthr->priority);
@@ -155,11 +147,7 @@ void *func_noise(void *arg)
                                pthr->priority);
                        fflush(NULL);
                }
-               pthr->id++;
-               for (j = 0; j < 5000; j++) {
-                       pthread_mutex_lock(&(pthr->mutex));
-                       pthread_mutex_unlock(&(pthr->mutex));
-               }
+               busy_work_ms(1);
        }
        return NULL;
 }
diff --git a/testcases/realtime/func/pi-tests/testpi-2.c 
b/testcases/realtime/func/pi-tests/testpi-2.c
index eb00129..68dde44 100644
--- a/testcases/realtime/func/pi-tests/testpi-2.c
+++ b/testcases/realtime/func/pi-tests/testpi-2.c
@@ -83,7 +83,7 @@ pthread_mutex_t glob_mutex;
 void *func_lowrt(void *arg)
 {
        struct thread *pthr = (struct thread *)arg;
-       int i, j, tid = gettid();
+       int i, tid = gettid();
 
        printf("Thread %d started running with priority %d\n", tid,\
                pthr->priority);
@@ -99,11 +99,7 @@ void *func_lowrt(void *arg)
                                tid, i, pthr->policy, pthr->priority);
                        fflush(NULL);
                }
-               pthr->id++;
-               for (j = 0; j < 5000; j++) {
-                       pthread_mutex_lock(&(pthr->mutex));
-                       pthread_mutex_unlock(&(pthr->mutex));
-               }
+               busy_work_ms(1);
        }
        pthread_mutex_unlock(&glob_mutex);
        return NULL;
@@ -112,7 +108,7 @@ void *func_lowrt(void *arg)
 void *func_rt(void *arg)
 {
        struct thread *pthr = (struct thread *)arg;
-       int i, j, tid = gettid();
+       int i, tid = gettid();
 
        printf("Thread %d started running with prio %d\n", tid, pthr->priority);
        pthread_barrier_wait(&barrier);
@@ -131,11 +127,7 @@ void *func_rt(void *arg)
                                tid, i, pthr->policy, pthr->priority);
                        fflush(NULL);
                }
-               pthr->id++;
-               for (j = 0; j < 5000; j++) {
-                       pthread_mutex_lock(&(pthr->mutex));
-                       pthread_mutex_unlock(&(pthr->mutex));
-               }
+               busy_work_ms(1);
        }
        pthread_mutex_unlock(&glob_mutex);
        return NULL;
@@ -144,7 +136,7 @@ void *func_rt(void *arg)
 void *func_noise(void *arg)
 {
        struct thread *pthr = (struct thread *)arg;
-       int i, j, tid = gettid();
+       int i, tid = gettid();
 
        printf("Noise Thread %d started running with prio %d\n", tid,\
                pthr->priority);
@@ -157,11 +149,7 @@ void *func_noise(void *arg)
                                pthr->priority);
                        fflush(NULL);
                }
-               pthr->id++;
-               for (j = 0; j < 5000; j++) {
-                       pthread_mutex_lock(&(pthr->mutex));
-                       pthread_mutex_unlock(&(pthr->mutex));
-               }
+               busy_work_ms(1);
        }
        return NULL;
 }
-- 
1.7.1


------------------------------------------------------------------------------

_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to