Changeset 8b36bf2 in mainline for kernel/test/mm/falloc2.c
- Timestamp:
- 2012-06-20T23:03:29Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d5070ef
- Parents:
- 8375d0eb (diff), 6eef3c4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/test/mm/falloc2.c
r8375d0eb r8b36bf2 40 40 #include <arch.h> 41 41 42 #define MAX_FRAMES 256 42 #define MAX_FRAMES 256U 43 43 #define MAX_ORDER 8 44 44 … … 51 51 static void falloc(void *arg) 52 52 { 53 int order, run, allocated, i;54 53 uint8_t val = THREAD->tid % THREADS; 55 size_t k;56 54 57 void **frames = (void **) malloc(MAX_FRAMES * sizeof(void *), FRAME_ATOMIC); 55 void **frames = (void **) 56 malloc(MAX_FRAMES * sizeof(void *), FRAME_ATOMIC); 58 57 if (frames == NULL) { 59 TPRINTF("Thread #%" PRIu64 " (cpu%u): Unable to allocate frames\n", THREAD->tid, CPU->id); 58 TPRINTF("Thread #%" PRIu64 " (cpu%u): " 59 "Unable to allocate frames\n", THREAD->tid, CPU->id); 60 60 atomic_inc(&thread_fail); 61 61 atomic_dec(&thread_count); … … 65 65 thread_detach(THREAD); 66 66 67 for (run = 0; run < THREAD_RUNS; run++) { 68 for (order = 0; order <= MAX_ORDER; order++) { 69 TPRINTF("Thread #%" PRIu64 " (cpu%u): Allocating %d frames blocks ... \n", THREAD->tid, CPU->id, 1 << order); 67 for (unsigned int run = 0; run < THREAD_RUNS; run++) { 68 for (unsigned int order = 0; order <= MAX_ORDER; order++) { 69 TPRINTF("Thread #%" PRIu64 " (cpu%u): " 70 "Allocating %u frames blocks ... \n", THREAD->tid, 71 CPU->id, 1 << order); 70 72 71 allocated = 0; 72 for (i = 0; i < (MAX_FRAMES >> order); i++) { 73 frames[allocated] = frame_alloc(order, FRAME_ATOMIC | FRAME_KA); 73 unsigned int allocated = 0; 74 for (unsigned int i = 0; i < (MAX_FRAMES >> order); i++) { 75 frames[allocated] = 76 frame_alloc(order, FRAME_ATOMIC | FRAME_KA); 74 77 if (frames[allocated]) { 75 78 memsetb(frames[allocated], FRAME_SIZE << order, val); … … 79 82 } 80 83 81 TPRINTF("Thread #%" PRIu64 " (cpu%u): %d blocks allocated.\n", THREAD->tid, CPU->id, allocated); 82 TPRINTF("Thread #%" PRIu64 " (cpu%u): Deallocating ... \n", THREAD->tid, CPU->id); 84 TPRINTF("Thread #%" PRIu64 " (cpu%u): " 85 "%u blocks allocated.\n", THREAD->tid, CPU->id, 86 allocated); 87 TPRINTF("Thread #%" PRIu64 " (cpu%u): " 88 "Deallocating ... \n", THREAD->tid, CPU->id); 83 89 84 for (i = 0; i < allocated; i++) { 85 for (k = 0; k <= (((size_t) FRAME_SIZE << order) - 1); k++) { 90 for (unsigned int i = 0; i < allocated; i++) { 91 for (size_t k = 0; k <= (((size_t) FRAME_SIZE << order) - 1); 92 k++) { 86 93 if (((uint8_t *) frames[i])[k] != val) { 87 TPRINTF("Thread #%" PRIu64 " (cpu%u): Unexpected data (%c) in block %p offset %zu\n", 88 THREAD->tid, CPU->id, ((char *) frames[i])[k], frames[i], k); 94 TPRINTF("Thread #%" PRIu64 " (cpu%u): " 95 "Unexpected data (%c) in block %p offset %zu\n", 96 THREAD->tid, CPU->id, ((char *) frames[i])[k], 97 frames[i], k); 89 98 atomic_inc(&thread_fail); 90 99 goto cleanup; … … 94 103 } 95 104 96 TPRINTF("Thread #%" PRIu64 " (cpu%u): Finished run.\n", THREAD->tid, CPU->id); 105 TPRINTF("Thread #%" PRIu64 " (cpu%u): " 106 "Finished run.\n", THREAD->tid, CPU->id); 97 107 } 98 108 } … … 101 111 free(frames); 102 112 103 TPRINTF("Thread #%" PRIu64 " (cpu%u): Exiting\n", THREAD->tid, CPU->id); 113 TPRINTF("Thread #%" PRIu64 " (cpu%u): Exiting\n", 114 THREAD->tid, CPU->id); 104 115 atomic_dec(&thread_count); 105 116 } … … 107 118 const char *test_falloc2(void) 108 119 { 109 unsigned int i;110 111 120 atomic_set(&thread_count, THREADS); 112 121 atomic_set(&thread_fail, 0); 113 122 114 for (i = 0; i < THREADS; i++) { 115 thread_t * thrd = thread_create(falloc, NULL, TASK, 0, "falloc", false); 123 for (unsigned int i = 0; i < THREADS; i++) { 124 thread_t *thrd = thread_create(falloc, NULL, TASK, 125 THREAD_FLAG_NONE, "falloc2"); 116 126 if (!thrd) { 117 127 TPRINTF("Could not create thread %u\n", i); … … 122 132 123 133 while (atomic_get(&thread_count) > 0) { 124 TPRINTF("Threads left: %" PRIua "\n", atomic_get(&thread_count)); 134 TPRINTF("Threads left: %" PRIua "\n", 135 atomic_get(&thread_count)); 125 136 thread_sleep(1); 126 137 }
Note:
See TracChangeset
for help on using the changeset viewer.