Date: Fri, 4 Jun 2010 06:35:36 +0000 (UTC) From: "Jayachandran C." <jchandra@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/mips/mips pmap.c src/sys/vm vm_contig.c vm_pageout.h Message-ID: <201006040637.o546b78q022140@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jchandra 2010-06-04 06:35:36 UTC
FreeBSD src repository
Modified files:
sys/mips/mips pmap.c
sys/vm vm_contig.c vm_pageout.h
Log:
SVN rev 208794 on 2010-06-04 06:35:36Z by jchandra
Make vm_contig_grow_cache() extern, and use it when vm_phys_alloc_contig()
fails to allocate MIPS page table pages. The current usage of VM_WAIT in
case of vm_phys_alloc_contig() failure is not correct, because:
"There is no guarantee that any of the available free (or cached) pages
after the VM_WAIT will fall within the range of suitable physical
addresses. Every time this function sleeps and a single page is freed
(or cached) by someone else, this function will be reawakened. With
a little bad luck, you could spin indefinitely."
We also add low and high parameters to vm_contig_grow_cache() and
vm_contig_launder() so that we restrict vm_contig_launder() to the range
of pages we are interested in.
Reported by: alc
Reviewed by: alc
Approved by: rrs (mentor)
Revision Changes Path
1.60 +11 -7 src/sys/mips/mips/pmap.c
1.82 +12 -9 src/sys/vm/vm_contig.c
1.45 +1 -0 src/sys/vm/vm_pageout.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006040637.o546b78q022140>
