Rev 766 | Rev 772 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 766 | Rev 768 | ||
|---|---|---|---|
| Line 30... | Line 30... | ||
| 30 | #include <mm/slab.h> |
30 | #include <mm/slab.h> |
| 31 | #include <print.h> |
31 | #include <print.h> |
| 32 | #include <proc/thread.h> |
32 | #include <proc/thread.h> |
| 33 | #include <arch.h> |
33 | #include <arch.h> |
| 34 | #include <panic.h> |
34 | #include <panic.h> |
| - | 35 | #include <memstr.h> |
|
| 35 | 36 | ||
| 36 | #define VAL_COUNT 1024 |
37 | #define VAL_COUNT 1024 |
| 37 | 38 | ||
| 38 | void * data[VAL_COUNT]; |
39 | void * data[VAL_COUNT]; |
| 39 | 40 | ||
| Line 48... | Line 49... | ||
| 48 | slab_print_list(); |
49 | slab_print_list(); |
| 49 | 50 | ||
| 50 | printf("Allocating %d items...", count); |
51 | printf("Allocating %d items...", count); |
| 51 | for (i=0; i < count; i++) { |
52 | for (i=0; i < count; i++) { |
| 52 | data[i] = slab_alloc(cache, 0); |
53 | data[i] = slab_alloc(cache, 0); |
| - | 54 | memsetb((__address)data[i], size, 0); |
|
| 53 | } |
55 | } |
| 54 | printf("done.\n"); |
56 | printf("done.\n"); |
| 55 | printf("Freeing %d items...", count); |
57 | printf("Freeing %d items...", count); |
| 56 | for (i=0; i < count; i++) { |
58 | for (i=0; i < count; i++) { |
| 57 | slab_free(cache, data[i]); |
59 | slab_free(cache, data[i]); |
| Line 59... | Line 61... | ||
| 59 | printf("done.\n"); |
61 | printf("done.\n"); |
| 60 | 62 | ||
| 61 | printf("Allocating %d items...", count); |
63 | printf("Allocating %d items...", count); |
| 62 | for (i=0; i < count; i++) { |
64 | for (i=0; i < count; i++) { |
| 63 | data[i] = slab_alloc(cache, 0); |
65 | data[i] = slab_alloc(cache, 0); |
| - | 66 | memsetb((__address)data[i], size, 0); |
|
| 64 | } |
67 | } |
| 65 | printf("done.\n"); |
68 | printf("done.\n"); |
| 66 | 69 | ||
| 67 | slab_print_list(); |
70 | slab_print_list(); |
| 68 | printf("Freeing %d items...", count/2); |
71 | printf("Freeing %d items...", count/2); |
| Line 72... | Line 75... | ||
| 72 | printf("done.\n"); |
75 | printf("done.\n"); |
| 73 | 76 | ||
| 74 | printf("Allocating %d items...", count/2); |
77 | printf("Allocating %d items...", count/2); |
| 75 | for (i=count/2; i < count; i++) { |
78 | for (i=count/2; i < count; i++) { |
| 76 | data[i] = slab_alloc(cache, 0); |
79 | data[i] = slab_alloc(cache, 0); |
| - | 80 | memsetb((__address)data[i], size, 0); |
|
| 77 | } |
81 | } |
| 78 | printf("done.\n"); |
82 | printf("done.\n"); |
| 79 | printf("Freeing %d items...", count); |
83 | printf("Freeing %d items...", count); |
| 80 | for (i=0; i < count; i++) { |
84 | for (i=0; i < count; i++) { |
| 81 | slab_free(cache, data[i]); |
85 | slab_free(cache, data[i]); |