From owner-freebsd-current@FreeBSD.ORG Tue Mar 7 21:27:04 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D220716A420 for ; Tue, 7 Mar 2006 21:27:04 +0000 (GMT) (envelope-from rick@snowhite.cis.uoguelph.ca) Received: from ccshst09.cs.uoguelph.ca (ccshst09.cs.uoguelph.ca [131.104.94.206]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BCAC43D45 for ; Tue, 7 Mar 2006 21:27:02 +0000 (GMT) (envelope-from rick@snowhite.cis.uoguelph.ca) Received: from snowhite.cis.uoguelph.ca (snowhite.cis.uoguelph.ca [131.104.48.1]) by ccshst09.cs.uoguelph.ca (8.13.1/8.13.1) with ESMTP id k27LR1qQ007519 for ; Tue, 7 Mar 2006 16:27:01 -0500 Received: (from rick@localhost) by snowhite.cis.uoguelph.ca (8.9.3/8.9.3) id QAA75476 for freebsd-current@freebsd.org; Tue, 7 Mar 2006 16:28:19 -0500 (EST) Date: Tue, 7 Mar 2006 16:28:19 -0500 (EST) From: rick@snowhite.cis.uoguelph.ca Message-Id: <200603072128.QAA75476@snowhite.cis.uoguelph.ca> To: freebsd-current@freebsd.org X-Scanned-By: MIMEDefang 2.52 on 131.104.94.206 Subject: kernel mget limit X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Mar 2006 21:27:04 -0000 I've been trying to figure out how I can check to see if resources for kernel malloc() and mget() are nearing (but not at) their allocation limit. Wading around in the vm sources, I haven't figured out much. The following snippet of code is all I've come up with. (It looks like uz_allocs might also be useful, but I have no idea what upper bound would make sense, if any.) if ((zone_mbuf->uz_keg->uk_maxpages > 0 && (zone_mbuf->uz_keg->uk_pages + zone_mbuf->uz_keg->uk_pages/10) >= zone_mbuf->uz_keg->uk_maxpages) || (zone_clust->uz_keg->uk_maxpages > 0 && (zone_clust->uz_keg->uk_pages+zone_clust->uz_keg->uk_pages/10) >= zone_clust->uz_keg->uk_maxpages)) { - Allocation near limit for mbufs/clusters This would be useful, so that my NFSv4 server knows when to return NFS4ERR_RESOURCE. Any help with this would be appreciated. Thanks, rick