diff options
Diffstat (limited to 'openmp/runtime/test/lock/omp_init_lock.c')
| -rw-r--r-- | openmp/runtime/test/lock/omp_init_lock.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/openmp/runtime/test/lock/omp_init_lock.c b/openmp/runtime/test/lock/omp_init_lock.c deleted file mode 100644 index 24b60d1ab6b..00000000000 --- a/openmp/runtime/test/lock/omp_init_lock.c +++ /dev/null @@ -1,42 +0,0 @@ -// RUN: %libomp-compile-and-run -#include "omp_testsuite.h" -#include <stdio.h> - -// This should be slightly less than KMP_I_LOCK_CHUNK, which is 1024 -#define LOCKS_PER_ITER 1000 -#define ITERATIONS (REPETITIONS + 1) - -// This tests concurrently using locks on one thread while initializing new -// ones on another thread. This exercises the global lock pool. -int test_omp_init_lock() { - int i; - omp_lock_t lcks[ITERATIONS * LOCKS_PER_ITER]; -#pragma omp parallel for schedule(static) num_threads(NUM_TASKS) - for (i = 0; i < ITERATIONS; i++) { - int j; - omp_lock_t *my_lcks = &lcks[i * LOCKS_PER_ITER]; - for (j = 0; j < LOCKS_PER_ITER; j++) { - omp_init_lock(&my_lcks[j]); - } - for (j = 0; j < LOCKS_PER_ITER * 100; j++) { - omp_set_lock(&my_lcks[j % LOCKS_PER_ITER]); - omp_unset_lock(&my_lcks[j % LOCKS_PER_ITER]); - } - } - // Wait until all repititions are done. The test is exercising growth of - // the global lock pool, which does not shrink when no locks are allocated. - { - int j; - for (j = 0; j < ITERATIONS * LOCKS_PER_ITER; j++) { - omp_destroy_lock(&lcks[j]); - } - } - - return 0; -} - -int main() { - // No use repeating this test, since it's exercising a private global pool - // which is not reset between test iterations. - return test_omp_init_lock(); -} |

