Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/uma_core.c
Show First 20 Lines • Show All 2,434 Lines • ▼ Show 20 Lines | keg_dtor(void *arg, int size, void *udata) | ||||
keg = (uma_keg_t)arg; | keg = (uma_keg_t)arg; | ||||
free = pages = 0; | free = pages = 0; | ||||
for (i = 0; i < vm_ndomains; i++) { | for (i = 0; i < vm_ndomains; i++) { | ||||
free += keg->uk_domain[i].ud_free; | free += keg->uk_domain[i].ud_free; | ||||
pages += keg->uk_domain[i].ud_pages; | pages += keg->uk_domain[i].ud_pages; | ||||
KEG_LOCK_FINI(keg, i); | KEG_LOCK_FINI(keg, i); | ||||
} | } | ||||
if (free != 0) | if (pages != 0) | ||||
printf("Freed UMA keg (%s) was not empty (%u items). " | printf("Freed UMA keg (%s) was not empty (%u items). " | ||||
" Lost %u pages of memory.\n", | " Lost %u pages of memory.\n", | ||||
keg->uk_name ? keg->uk_name : "", | keg->uk_name ? keg->uk_name : "", | ||||
free, pages); | pages / keg->uk_ppera * keg->uk_ipers - free, pages); | ||||
hash_free(&keg->uk_hash); | hash_free(&keg->uk_hash); | ||||
} | } | ||||
/* | /* | ||||
* Zone header dtor. | * Zone header dtor. | ||||
* | * | ||||
* Arguments/Returns follow uma_dtor specifications | * Arguments/Returns follow uma_dtor specifications | ||||
▲ Show 20 Lines • Show All 2,561 Lines • Show Last 20 Lines |