Rev 683 | Rev 701 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 683 | Rev 686 | ||
---|---|---|---|
Line 236... | Line 236... | ||
236 | /** Prints out structure of buddy system |
236 | /** Prints out structure of buddy system |
237 | * |
237 | * |
238 | * @param b Pointer to buddy system |
238 | * @param b Pointer to buddy system |
239 | * @param es Element size |
239 | * @param es Element size |
240 | */ |
240 | */ |
241 | void buddy_system_structure_print(buddy_system_t *b) { |
241 | void buddy_system_structure_print(buddy_system_t *b, size_t elem_size) { |
242 | index_t i; |
242 | index_t i; |
243 | count_t cnt, elem_count = 0, block_count = 0; |
243 | count_t cnt, elem_count = 0, block_count = 0; |
244 | link_t * cur; |
244 | link_t * cur; |
245 | 245 | ||
246 | 246 | ||
247 | printf("Order\tStatistics\n"); |
247 | printf("Order\tBlocks\tSize \tBlock size\tElems per block\n"); |
248 | printf("-----\t--------------------------------------\n"); |
248 | printf("-----\t------\t--------\t----------\t---------------\n"); |
249 | 249 | ||
250 | for (i=0;i < b->max_order; i++) { |
250 | for (i=0;i < b->max_order; i++) { |
251 | cnt = 0; |
251 | cnt = 0; |
252 | if (!list_empty(&b->order[i])) { |
252 | if (!list_empty(&b->order[i])) { |
253 | for (cur = b->order[i].next; cur != &b->order[i]; cur = cur->next) cnt++; |
253 | for (cur = b->order[i].next; cur != &b->order[i]; cur = cur->next) cnt++; |
254 | } |
254 | } |
255 | 255 | ||
256 | printf("#%d:\t%d blocks available (%d elements per block)\n", i, cnt, 1 << i); |
256 | 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); |
257 | 257 | ||
258 | block_count += cnt; |
258 | block_count += cnt; |
259 | elem_count += (1 << i) * cnt; |
259 | elem_count += (1 << i) * cnt; |
260 | } |
260 | } |
261 | printf("-----\t--------------------------------------\n"); |
261 | printf("-----\t------\t--------\t----------\t---------------\n"); |
262 | printf("Buddy system contains %d elements (%d blocks)\n" , elem_count, block_count); |
262 | printf("Buddy system contains %d elements (%d blocks)\n" , elem_count, block_count); |
263 | 263 | ||
264 | } |
264 | } |