PERFORCE change 166542 for review

Andre Oppermann andre at FreeBSD.org
Sat Jul 25 10:30:36 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=166542

Change 166542 by andre at andre_t61 on 2009/07/25 10:29:34

	Add generic sysctl_zonelimit() for use with SYSCTL_PROC()
	to report and modify UMA zone limits.

Affected files ...

.. //depot/projects/tcp_reass/kern/kern_sysctl.c#8 edit
.. //depot/projects/tcp_reass/sys/sysctl.h#9 edit

Differences ...

==== //depot/projects/tcp_reass/kern/kern_sysctl.c#8 (text+ko) ====

@@ -63,6 +63,7 @@
 
 #include <security/mac/mac_framework.h>
 
+#include <vm/uma.h>
 #include <vm/vm.h>
 #include <vm/vm_extern.h>
 
@@ -963,6 +964,28 @@
 	return (0);
 }
 
+/*
+ * Based on on sysctl_handle_int() report and set UMA zone limits.
+ */
+
+int
+sysctl_zonelimit(SYSCTL_HANDLER_ARGS)
+{
+	int error, nitems;
+	uma_zone_t zone = (uma_zone_t)arg1;
+
+	nitems = uma_zone_get_max(zone);
+
+	error = sysctl_handle_int(oidp, &nitems, 0, req);
+	if (error || !req->newptr)
+		return (error);
+
+	if (nitems < 1)
+		return (EINVAL);
+
+	uma_zone_set_max(zone, nitems);
+	return (error);
+}
 
 /*
  * Handle a long, signed or unsigned.  arg1 points to it.

==== //depot/projects/tcp_reass/sys/sysctl.h#9 (text+ko) ====

@@ -170,6 +170,7 @@
 
 int sysctl_handle_int(SYSCTL_HANDLER_ARGS);
 int sysctl_msec_to_ticks(SYSCTL_HANDLER_ARGS);
+int sysctl_zonelimit(SYSCTL_HANDLER_ARGS);
 int sysctl_handle_long(SYSCTL_HANDLER_ARGS);
 int sysctl_handle_quad(SYSCTL_HANDLER_ARGS);
 int sysctl_handle_intptr(SYSCTL_HANDLER_ARGS);


More information about the p4-projects mailing list