diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c index 3790a98..f2fe95f 100644 --- a/sys/kern/kern_malloc.c +++ b/sys/kern/kern_malloc.c @@ -240,6 +240,22 @@ SYSCTL_INT(_debug_malloc, OID_AUTO, failure_count, CTLFLAG_RD, &malloc_failure_count, 0, "Number of imposed M_NOWAIT malloc failures"); #endif +static void +add_kmem_map_size_sysctl(void) +{ + + if (sizeof(kmem_map->size) == sizeof(int)) + SYSCTL_ADD_UINT(NULL, SYSCTL_STATIC_CHILDREN(_vm), OID_AUTO, + "kmem_map_size", CTLFLAG_RD, &kmem_map->size, 0, + "Current size of kmem_map"); + else + SYSCTL_ADD_ULONG(NULL, SYSCTL_STATIC_CHILDREN(_vm), OID_AUTO, + "kmem_map_size", CTLFLAG_RD, &kmem_map->size, + "Current size of kmem_map"); +} +SYSINIT(add_kmem_map_size_sysctl, SI_SUB_RUN_SCHEDULER, SI_ORDER_MIDDLE, + add_kmem_map_size_sysctl, NULL); + /* * malloc(9) uma zone separation -- sub-page buffer overruns in one * malloc type will affect only a subset of other malloc types.