Date: Thu, 22 Apr 2004 17:24:30 -0400 (EDT) From: Robert Watson <rwatson@FreeBSD.org> To: Nikos Ntarmos <ntarmos@ceid.upatras.gr> Cc: current@FreeBSD.org Subject: Re: P_NOLOAD + ULE = high load averages Message-ID: <Pine.NEB.3.96L.1040422172307.22456E-100000@fledge.watson.org> In-Reply-To: <20040421003230.GA17810@diogenis.ceid.upatras.gr>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 21 Apr 2004, Nikos Ntarmos wrote: > 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? I chatted with Jeff briefly about this change: he pointed out that this change may not work well if the flag can change at run-time, and it looks like (from a grep) that it may be. It looks like it only changes because it isn't set in kthread_create(), since it appears to be a static thread property once the thread is off running, so perhaps we just need to make sure it's set in kthread_create and doesn't change later. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040422172307.22456E-100000>