Changeset 3f03199 in mainline for kernel/test/mm/falloc1.c
- Timestamp:
- 2013-09-15T06:33:53Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9348862
- Parents:
- dd7078c (diff), 1c0cef0 (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/falloc1.c
rdd7078c r3f03199 37 37 #include <align.h> 38 38 39 #define MAX_FRAMES 1024 U39 #define MAX_FRAMES 1024 40 40 #define MAX_ORDER 8 41 41 #define TEST_RUNS 2 … … 51 51 return "Unable to allocate frames"; 52 52 53 unsigned int results[MAX_ORDER + 1]; 53 unsigned int results[MAX_FRAMES + 1]; 54 54 55 for (unsigned int run = 0; run < TEST_RUNS; run++) { 55 for (unsigned int order = 0; order <= MAX_ORDER; order++) { 56 TPRINTF("Allocating %u frames blocks ... ", 1 << order); 56 for (size_t count = 1; count <= MAX_FRAMES; count++) { 57 size_t bytes = FRAMES2SIZE(count); 58 59 TPRINTF("Allocating %zu frames blocks (%zu bytes) ... ", 60 count, bytes); 57 61 58 62 unsigned int allocated = 0; 59 for (unsigned int i = 0; i < (MAX_FRAMES >> order); i++) { 60 frames[allocated] = (uintptr_t) 61 frame_alloc(order, FRAME_ATOMIC | FRAME_KA); 62 63 if (ALIGN_UP(frames[allocated], FRAME_SIZE << order) != 64 frames[allocated]) { 65 TPRINTF("Block at address %p (size %u) is not aligned\n", 66 (void *) frames[allocated], (FRAME_SIZE << order) >> 10); 67 return "Test failed"; 68 } 69 70 if (frames[allocated]) 63 for (unsigned int i = 0; i < (MAX_FRAMES / count); i++) { 64 frames[allocated] = frame_alloc(count, FRAME_ATOMIC, 0); 65 if (frames[allocated]) { 71 66 allocated++; 72 else {67 } else { 73 68 TPRINTF("done. "); 74 69 break; … … 78 73 TPRINTF("%d blocks allocated.\n", allocated); 79 74 80 if (run ) {81 if (results[ order] != allocated)75 if (run > 0) { 76 if (results[count] != allocated) 82 77 return "Possible frame leak"; 83 78 } else 84 results[ order] = allocated;79 results[count] = allocated; 85 80 86 81 TPRINTF("Deallocating ... "); 87 82 88 83 for (unsigned int i = 0; i < allocated; i++) 89 frame_free( KA2PA(frames[i]));84 frame_free(frames[i], count); 90 85 91 86 TPRINTF("done.\n");
Note:
See TracChangeset
for help on using the changeset viewer.