1#include "internal.h"
2
3void slab_domain_bucket_print(const struct slab_domain_bucket *bucket) {
4 printf(format: "slab_domain_bucket {\n");
5 printf(format: " alloc_calls: %zu,\n", bucket->alloc_calls);
6 printf(format: " alloc_magazine_hits: %zu,\n", bucket->alloc_magazine_hits);
7 printf(format: " alloc_page_hits: %zu,\n", bucket->alloc_page_hits);
8 printf(format: " alloc_local_hits: %zu,\n", bucket->alloc_local_hits);
9 printf(format: " alloc_remote_hits: %zu,\n", bucket->alloc_remote_hits);
10 printf(format: " alloc_gc_recycle_hits: %zu,\n", bucket->alloc_gc_recycle_hits);
11 printf(format: " alloc_new_slab: %zu,\n", bucket->alloc_new_slab);
12 printf(format: " alloc_new_remote_slab: %u\n", bucket->alloc_new_remote_slab);
13 printf(format: " alloc_failures: %zu,\n", bucket->alloc_failures);
14 printf(format: "\n");
15 printf(format: " free_calls: %zu,\n", bucket->free_calls);
16 printf(format: " free_to_ring: %zu,\n", bucket->free_to_ring);
17 printf(format: " free_to_local_slab: %zu,\n", bucket->free_to_local_slab);
18 printf(format: " free_to_remote_domain: %zu,\n", bucket->free_to_remote_domain);
19 printf(format: " free_to_percpu: %zu\n", bucket->free_to_percpu);
20 printf(format: "\n");
21 printf(format: " freequeue_enqueues: %zu,\n", bucket->freequeue_enqueues);
22 printf(format: " freequeue_dequeues: %zu,\n", bucket->freequeue_dequeues);
23 printf(format: " gc_collections: %zu,\n", bucket->gc_collections);
24 printf(format: " gc_objects_reclaimed: %zu\n", bucket->gc_objects_reclaimed);
25 printf(format: "}\n");
26}
27
28void slab_domains_print() {
29 for (size_t i = 0; i < global.domain_count; i++)
30 slab_domain_bucket_print(bucket: &global.domains[i]->slab_domain->aggregate);
31}
32