Subject: CVS commit: syssrc/sys/arch/arm/arm32
To: None <source-changes@netbsd.org>
From: Richard Earnshaw <rearnsha@netbsd.org>
List: source-changes
Date: 10/18/2001 19:50:31
Module Name: syssrc
Committed By: rearnsha
Date: Thu Oct 18 16:50:31 UTC 2001
Modified Files:
syssrc/sys/arch/arm/arm32: pmap.c
Log Message:
With a diagnostic kernel, printing out a message each time we fail
to allocate a L1 pt is often enough to bring the system to its knees:
so make the messages PDEBUG(0,...).
However, even with this step having more than a small number of
processes searching for a L1 pt can still be enough to bring the system
down, since they all run at high priority and sleep for very little time,
thus blocking out user code from completing. So implement an exponential
backoff when waiting for a page table, so that we don't hog the CPU when
memory is scarce.
Tested by running a make of the C compiler with "gnumake -j30" (and plenty
of swap space).
To generate a diff of this commit:
cvs rdiff -r1.25 -r1.26 syssrc/sys/arch/arm/arm32/pmap.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.