Date: Wed, 21 Apr 2004 03:32:30 +0300 From: Nikos Ntarmos <ntarmos@ceid.upatras.gr> To: current@FreeBSD.org Subject: P_NOLOAD + ULE = high load averages Message-ID: <20040421003230.GA17810@diogenis.ceid.upatras.gr>
next in thread | raw e-mail | index | archive | help
--IJpNTDwzlM2Ie8A6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi all. There was a thread on "unusually high load averages" when running under sched_ule, which (afaik) came at an abrupt halt in January 2004. Anyway, I've been looking at this thing lately and have come to believe that "pagezero" is (one of) the culprit(s). IMO the source of the problem lies in /sys/kern/sched_ule.c having no provision for processes with P_NOLOAD set. With pagezero not running at PRI_ITHD, kseq_load_{add,rem} count pagezero as oh-another-normal-process, thus the "expected-plus-one" load reported in the above thread. The attached diff should fix this (at least it has fixed it here -- running 5.2-CURRENT on a PCA56, just cvsup'ed from cvsup.gr.freebsd.org). Could someone please review/commit the changes or should I better send-pr it? \n\n -- Nikos "Noth" Ntarmos | < ntarmos at ceid dot upatras dot gr > NetCINS Lab. @ C.E.I.D. | [ http://{noth,p2p}.ceid.upatras.gr/ ] U. of Patras - Greece | ( 38.2594N, 21.7428E ) ( 1024D / CF95160A ) --IJpNTDwzlM2Ie8A6 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="sched_ule+P_NOLOAD.patch" --- 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 --IJpNTDwzlM2Ie8A6--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040421003230.GA17810>