From owner-p4-projects@FreeBSD.ORG Wed Aug 16 05:29:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29A0B16A4E6; Wed, 16 Aug 2006 05:29:28 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E904716A4E2 for ; Wed, 16 Aug 2006 05:29:27 +0000 (UTC) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B328143D45 for ; Wed, 16 Aug 2006 05:29:27 +0000 (GMT) (envelope-from cdjones@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7G5TROv020513 for ; Wed, 16 Aug 2006 05:29:27 GMT (envelope-from cdjones@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7G5TRoC020509 for perforce@freebsd.org; Wed, 16 Aug 2006 05:29:27 GMT (envelope-from cdjones@FreeBSD.org) Date: Wed, 16 Aug 2006 05:29:27 GMT Message-Id: <200608160529.k7G5TRoC020509@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cdjones@FreeBSD.org using -f From: Chris Jones To: Perforce Change Reviews Cc: Subject: PERFORCE change 104180 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Aug 2006 05:29:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=104180 Change 104180 by cdjones@cdjones-impulse on 2006/08/16 05:28:54 Fix silly error in total sched share calculation, add some debugging. Affected files ... .. //depot/projects/soc2006/cdjones_jail/src/sys/kern/sched_hier.c#9 edit Differences ... ==== //depot/projects/soc2006/cdjones_jail/src/sys/kern/sched_hier.c#9 (text+ko) ==== @@ -557,9 +557,12 @@ * when jail CPU shares are added / changed, rather than * doing it every second. */ + nShares = 0; LIST_FOREACH(pr, &allprison, pr_list) { + printf("schedcpu_thread: prison %p\n", &pr); nShares += pr->pr_sched_shares; } + printf("schedcpu_thread: %d CPU shares total\n", nShares); total_jail_sched_shares = nShares; schedcpu(); @@ -613,7 +616,10 @@ * soft limits available. Also, the amount of CPU time * reserved to unjailed processes really should be sysctl'd. */ + printf("resetpriority: reset KSE %p priority\n", &kg); newpriority *= pr->pr_sched_shares; + KASSERT(0 != total_jail_sched_shares, + "no jail sched shares when a jail exists?!"); newpriority /= 2*total_jail_sched_shares; } newpriority = min(max(newpriority, PRI_MIN_TIMESHARE),