From owner-svn-src-head@FreeBSD.ORG Thu Nov 15 15:55:50 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2779F7F0; Thu, 15 Nov 2012 15:55:50 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0D5F18FC0C; Thu, 15 Nov 2012 15:55:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qAFFtnoF011725; Thu, 15 Nov 2012 15:55:49 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qAFFtn1J011724; Thu, 15 Nov 2012 15:55:49 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201211151555.qAFFtn1J011724@svn.freebsd.org> From: Edward Tomasz Napierala Date: Thu, 15 Nov 2012 15:55:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r243088 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Nov 2012 15:55:50 -0000 Author: trasz Date: Thu Nov 15 15:55:49 2012 New Revision: 243088 URL: http://svnweb.freebsd.org/changeset/base/243088 Log: Improve KASSERT messages in racct, to make it clear which resource caused the problem. Submitted by: mjg Modified: head/sys/kern/kern_racct.c Modified: head/sys/kern/kern_racct.c ============================================================================== --- head/sys/kern/kern_racct.c Thu Nov 15 15:49:37 2012 (r243087) +++ head/sys/kern/kern_racct.c Thu Nov 15 15:55:49 2012 (r243088) @@ -385,9 +385,11 @@ racct_add_racct(struct racct *dest, cons */ for (i = 0; i <= RACCT_MAX; i++) { KASSERT(dest->r_resources[i] >= 0, - ("racct propagation meltdown: dest < 0")); + ("%s: resource %d propagation meltdown: dest < 0", + __func__, i)); KASSERT(src->r_resources[i] >= 0, - ("racct propagation meltdown: src < 0")); + ("%s: resource %d propagation meltdown: src < 0", + __func__, i)); dest->r_resources[i] += src->r_resources[i]; } } @@ -405,18 +407,21 @@ racct_sub_racct(struct racct *dest, cons for (i = 0; i <= RACCT_MAX; i++) { if (!RACCT_IS_SLOPPY(i) && !RACCT_IS_DECAYING(i)) { KASSERT(dest->r_resources[i] >= 0, - ("racct propagation meltdown: dest < 0")); + ("%s: resource %d propagation meltdown: dest < 0", + __func__, i)); KASSERT(src->r_resources[i] >= 0, - ("racct propagation meltdown: src < 0")); + ("%s: resource %d propagation meltdown: src < 0", + __func__, i)); KASSERT(src->r_resources[i] <= dest->r_resources[i], - ("racct propagation meltdown: src > dest")); + ("%s: resource %d propagation meltdown: src > dest", + __func__, i)); } if (RACCT_CAN_DROP(i)) { dest->r_resources[i] -= src->r_resources[i]; if (dest->r_resources[i] < 0) { KASSERT(RACCT_IS_SLOPPY(i) || RACCT_IS_DECAYING(i), - ("racct_sub_racct: usage < 0")); + ("%s: resource %d usage < 0", __func__, i)); dest->r_resources[i] = 0; } } @@ -487,7 +492,7 @@ racct_alloc_resource(struct racct *racct racct->r_resources[resource] += amount; if (racct->r_resources[resource] < 0) { KASSERT(RACCT_IS_SLOPPY(resource) || RACCT_IS_DECAYING(resource), - ("racct_alloc_resource: usage < 0")); + ("%s: resource %d usage < 0", __func__, resource)); racct->r_resources[resource] = 0; } @@ -633,7 +638,7 @@ racct_set_locked(struct proc *p, int res diff_cred = diff_proc; #ifdef notyet KASSERT(diff_proc >= 0 || RACCT_CAN_DROP(resource), - ("racct_set: usage of non-droppable resource %d dropping", + ("%s: usage of non-droppable resource %d dropping", __func__, resource)); #endif #ifdef RCTL @@ -782,12 +787,12 @@ racct_sub(struct proc *p, int resource, */ PROC_LOCK_ASSERT(p, MA_OWNED); KASSERT(RACCT_CAN_DROP(resource), - ("racct_sub: called for non-droppable resource %d", resource)); + ("%s: called for non-droppable resource %d", __func__, resource)); mtx_lock(&racct_lock); KASSERT(amount <= p->p_racct->r_resources[resource], - ("racct_sub: freeing %ju of resource %d, which is more " - "than allocated %jd for %s (pid %d)", amount, resource, + ("%s: freeing %ju of resource %d, which is more " + "than allocated %jd for %s (pid %d)", __func__, amount, resource, (intmax_t)p->p_racct->r_resources[resource], p->p_comm, p->p_pid)); racct_alloc_resource(p->p_racct, resource, -amount); @@ -805,7 +810,7 @@ racct_sub_cred_locked(struct ucred *cred #ifdef notyet KASSERT(RACCT_CAN_DROP(resource), - ("racct_sub_cred: called for resource %d which can not drop", + ("%s: called for resource %d which can not drop", __func__, resource)); #endif