Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Jul 2009 10:30:34 GMT
From:      Andre Oppermann <andre@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 166542 for review
Message-ID:  <200907251030.n6PAUYEH079938@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166542

Change 166542 by andre@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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907251030.n6PAUYEH079938>