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>