Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 May 2001 07:46:18 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.ORG>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Jake Burkholder <jburkholder0829@home.com>, smp@FreeBSD.ORG, Alfred Perlstein <bright@wintelcom.net>
Subject:   Re: that vm diff now makes it into single user mode.
Message-ID:  <XFMail.010501074618.jhb@FreeBSD.org>
In-Reply-To: <Pine.BSF.4.21.0105011221040.31299-100000@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 01-May-01 Bruce Evans wrote:
> On Mon, 30 Apr 2001, John Baldwin wrote:
> 
>> On 29-Apr-01 Alfred Perlstein wrote:
>> > * Jake Burkholder <jburkholder0829@home.com> [010428 23:10] wrote:
>> >> 
>> >> i386/i386/vm_machdep.c:
>> >> 
>> >> the mtx_trylock in vm_page_zero_idle is unnecessary, the lock is
>> >> already held.  This whole thing needs to be non-blocking if its
>> >> going to be called from the idle loop, but I'm not sure that
>> >> that's still possible.  Its currently commented out.
>> > 
>> > Ok, should be fixed.  I guess we now know where it could have been
>> > useful to be able to spin on a sleeplock, ie not worry about
>> > idle getting stuck on a runqueue/sleepqueue.
>> 
>> Having the idle process hold locks that other threads block on can really
>> start
>> wreaking havoc when you throw priority propagation into the mix.  It would
>> be
>> best to push the page zeroing off into a very low priority kernel thread or
>> something.
> 
> Why would that do more than move the problem (if any)?  Priority
> propagation should allow the low-priority idle process to become high
> prority so that it can release its locks as necessary just as well as
> it allows this for any other low-priority process.

That doesn't work because idle processes aren't on the run queue.  They are
simply a hold context chosen when there is no context to move to.  Thus,
priority propagation doesn't affect them since by this principle, every other
process has higher priority than the idle process, regardless of the actual
value of p_pri.

> Bruce

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.Baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010501074618.jhb>