svn commit: r213923 - stable/7/sys/kern
Andriy Gapon
avg at FreeBSD.org
Sat Oct 16 11:44:58 UTC 2010
Author: avg
Date: Sat Oct 16 11:44:58 2010
New Revision: 213923
URL: http://svn.freebsd.org/changeset/base/213923
Log:
MFC r213651: add kmem_map_free sysctl: query largest contiguous free range in kmem_map
Modified:
stable/7/sys/kern/kern_malloc.c
Directory Properties:
stable/7/sys/ (props changed)
stable/7/sys/cddl/contrib/opensolaris/ (props changed)
stable/7/sys/contrib/dev/acpica/ (props changed)
stable/7/sys/contrib/pf/ (props changed)
Modified: stable/7/sys/kern/kern_malloc.c
==============================================================================
--- stable/7/sys/kern/kern_malloc.c Sat Oct 16 11:41:20 2010 (r213922)
+++ stable/7/sys/kern/kern_malloc.c Sat Oct 16 11:44:58 2010 (r213923)
@@ -202,6 +202,11 @@ SYSCTL_PROC(_vm, OID_AUTO, kmem_map_size
CTLFLAG_RD | CTLTYPE_ULONG | CTLFLAG_MPSAFE, NULL, 0,
sysctl_kmem_map_size, "LU", "Current kmem_map allocation size");
+static int sysctl_kmem_map_free(SYSCTL_HANDLER_ARGS);
+SYSCTL_PROC(_vm, OID_AUTO, kmem_map_free,
+ CTLFLAG_RD | CTLTYPE_ULONG | CTLFLAG_MPSAFE, NULL, 0,
+ sysctl_kmem_map_free, "LU", "Largest contiguous free range in kmem_map");
+
/*
* The malloc_mtx protects the kmemstatistics linked list.
*/
@@ -247,6 +252,18 @@ sysctl_kmem_map_size(SYSCTL_HANDLER_ARGS
return (sysctl_handle_long(oidp, &size, 0, req));
}
+static int
+sysctl_kmem_map_free(SYSCTL_HANDLER_ARGS)
+{
+ u_long size;
+
+ vm_map_lock_read(kmem_map);
+ size = kmem_map->root != NULL ?
+ kmem_map->root->max_free : kmem_map->size;
+ vm_map_unlock_read(kmem_map);
+ return (sysctl_handle_long(oidp, &size, 0, req));
+}
+
int
malloc_last_fail(void)
{
More information about the svn-src-stable
mailing list