From ntarmos@Gatekeeper.ceid.upatras.gr  Wed Apr 21 10:51:18 2004
Return-Path: <ntarmos@Gatekeeper.ceid.upatras.gr>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 54EA416A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 21 Apr 2004 10:51:18 -0700 (PDT)
Received: from diogenis.ceid.upatras.gr (diogenis.ceid.upatras.gr [150.140.141.181])
	by mx1.FreeBSD.org (Postfix) with SMTP id 7E27743D60
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 21 Apr 2004 10:51:16 -0700 (PDT)
	(envelope-from ntarmos@Gatekeeper.ceid.upatras.gr)
Received: (qmail 24527 invoked from network); 21 Apr 2004 17:51:14 -0000
Received: from gatekeeper.ceid.upatras.gr (150.140.143.235)
  by diogenis.ceid.upatras.gr with SMTP; 21 Apr 2004 17:51:14 -0000
Received: by Gatekeeper.ceid.upatras.gr (Postfix, from userid 1001)
	id DE3DB5E9; Wed, 21 Apr 2004 20:50:58 +0300 (EEST)
Message-Id: <20040421175058.DE3DB5E9@Gatekeeper.ceid.upatras.gr>
Date: Wed, 21 Apr 2004 20:50:58 +0300 (EEST)
From: Nikos Ntarmos <ntarmos@ceid.upatras.gr>
Reply-To: Nikos Ntarmos <ntarmos@ceid.upatras.gr>
To: FreeBSD-gnats-submit@freebsd.org
Cc: ntarmos@ceid.upatras.gr
Subject: sched_ule.c doesn't honor P_NOLOAD, leading to high (by one) vm.loadavg
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         65857
>Category:       kern
>Synopsis:       sched_ule.c doesn't honor P_NOLOAD, leading to high (by one) vm.loadavg
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    jeff
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 21 11:00:38 PDT 2004
>Closed-Date:    Tue Apr 27 08:24:01 PDT 2004
>Last-Modified:  Tue Apr 27 08:24:01 PDT 2004
>Originator:     Nikos Ntarmos
>Release:        FreeBSD 5.2-CURRENT alpha
>Organization:
NetCINS Lab - CEID - UPatras - Greece
>Environment:
System: FreeBSD Gatekeeper.ceid.upatras.gr 5.2-CURRENT FreeBSD 5.2-CURRENT #11: Wed Apr 21 03:22:39 EEST 2004 root@Gatekeeper.ceid.upatras.gr:/usr/obj/usr/src/sys/GATEKEEPER alpha


	
>Description:
	sched_ule.c doesn't honor P_NOLOAD. This results in the system
	load being reported as "expected-load-plus-one", also refernced
	in a current@ thread back in January 2004. This is ULE-specific.
	
>How-To-Repeat:
	Just run CURRENT with 'options SCHED_ULE' and see the system load
	(as reported by vm.loadavg or userland tools such as top) hovering
	to 1.00 for an idle system, or to "expected-load-plus-one" in general.
	
>Fix:
--- sys/kern/sched_ule.c.orig   Wed Apr 21 03:10:29 2004
+++ sys/kern/sched_ule.c        Wed Apr 21 03:20:34 2004
@@ -357,7 +357,7 @@
        if (class == PRI_TIMESHARE)
                kseq->ksq_load_timeshare++;
        kseq->ksq_load++;
-       if (class != PRI_ITHD)
+       if (class != PRI_ITHD && (ke->ke_proc->p_flag & P_NOLOAD) == 0)
 #ifdef SMP
                kseq->ksq_group->ksg_load++;
 #else
@@ -380,7 +380,7 @@
        class = PRI_BASE(ke->ke_ksegrp->kg_pri_class);
        if (class == PRI_TIMESHARE)
                kseq->ksq_load_timeshare--;
-       if (class != PRI_ITHD)
+       if (class != PRI_ITHD  && (ke->ke_proc->p_flag & P_NOLOAD) == 0)
 #ifdef SMP
                kseq->ksq_group->ksg_load--;
 #else
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->jeff 
Responsible-Changed-By: nork 
Responsible-Changed-When: Wed Apr 21 11:23:42 PDT 2004 
Responsible-Changed-Why:  
Over to scheduler maintainer. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=65857 
State-Changed-From-To: open->closed 
State-Changed-By: linimon 
State-Changed-When: Tue Apr 27 08:23:34 PDT 2004 
State-Changed-Why:  
Submitter reports that a fix has already been committed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=65857 
>Unformatted:
