Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_malloc.c
Show All 12 Lines | |||||
} | } | ||||
mtx_unlock(&malloc_mtx); | mtx_unlock(&malloc_mtx); | ||||
error = sbuf_finish(&sbuf); | error = sbuf_finish(&sbuf); | ||||
sbuf_delete(&sbuf); | sbuf_delete(&sbuf); | ||||
return (error); | return (error); | ||||
} | } | ||||
SYSCTL_PROC(_kern, OID_AUTO, malloc_stats, CTLFLAG_RD|CTLTYPE_STRUCT, | SYSCTL_PROC(_kern, OID_AUTO, malloc_stats, | ||||
CTLFLAG_RD | CTLTYPE_STRUCT | CTLFLAG_NEEDGIANT, | |||||
0, 0, sysctl_kern_malloc_stats, "s,malloc_type_ustats", | 0, 0, sysctl_kern_malloc_stats, "s,malloc_type_ustats", | ||||
"Return malloc types"); | "Return malloc types"); | ||||
SYSCTL_INT(_kern, OID_AUTO, malloc_count, CTLFLAG_RD, &kmemcount, 0, | SYSCTL_INT(_kern, OID_AUTO, malloc_count, CTLFLAG_RD, &kmemcount, 0, | ||||
"Count of kernel malloc types"); | "Count of kernel malloc types"); | ||||
void | void | ||||
malloc_type_list(malloc_type_list_func_t *func, void *arg) | malloc_type_list(malloc_type_list_func_t *func, void *arg) | ||||
Show All 24 Lines | |||||
sbuf_printf(&sbuf, | sbuf_printf(&sbuf, | ||||
"\nTotal memory used:\t%30llu\nTotal Memory wasted:\t%30llu\n", | "\nTotal memory used:\t%30llu\nTotal Memory wasted:\t%30llu\n", | ||||
(unsigned long long)mem, (unsigned long long)waste); | (unsigned long long)mem, (unsigned long long)waste); | ||||
error = sbuf_finish(&sbuf); | error = sbuf_finish(&sbuf); | ||||
sbuf_delete(&sbuf); | sbuf_delete(&sbuf); | ||||
return (error); | return (error); | ||||
} | } | ||||
SYSCTL_OID(_kern, OID_AUTO, mprof, CTLTYPE_STRING|CTLFLAG_RD, | SYSCTL_OID(_kern, OID_AUTO, mprof, | ||||
NULL, 0, sysctl_kern_mprof, "A", "Malloc Profiling"); | CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, | ||||
NULL, 0, sysctl_kern_mprof, "A", | |||||
"Malloc Profiling"); | |||||
#endif /* MALLOC_PROFILE */ | #endif /* MALLOC_PROFILE */ | ||||
Context not available. |