238,14 → 238,14 |
* @param b Pointer to buddy system |
* @param es Element size |
*/ |
void buddy_system_structure_print(buddy_system_t *b) { |
void buddy_system_structure_print(buddy_system_t *b, size_t elem_size) { |
index_t i; |
count_t cnt, elem_count = 0, block_count = 0; |
link_t * cur; |
|
|
printf("Order\tStatistics\n"); |
printf("-----\t--------------------------------------\n"); |
printf("Order\tBlocks\tSize \tBlock size\tElems per block\n"); |
printf("-----\t------\t--------\t----------\t---------------\n"); |
|
for (i=0;i < b->max_order; i++) { |
cnt = 0; |
253,12 → 253,12 |
for (cur = b->order[i].next; cur != &b->order[i]; cur = cur->next) cnt++; |
} |
|
printf("#%d:\t%d blocks available (%d elements per block)\n", i, cnt, 1 << i); |
printf("#%d\t%d\t%d kb\t\t%d kb\t\t%d\n", i, cnt, (cnt * (1 << i) * elem_size) >> 10, ((1 << i) * elem_size) >> 10, 1 << i); |
|
block_count += cnt; |
elem_count += (1 << i) * cnt; |
} |
printf("-----\t--------------------------------------\n"); |
printf("-----\t------\t--------\t----------\t---------------\n"); |
printf("Buddy system contains %d elements (%d blocks)\n" , elem_count, block_count); |
|
} |