1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00

Continue cleaning the queue instead of moving to the next queue or

bailing out if acquisition of page lock caused page position in the
queue to change.

Pointed out by:	alc
This commit is contained in:
Konstantin Belousov 2010-05-10 11:53:40 +00:00
parent 98be819983
commit 6e2175fc06
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=207846

View File

@ -168,10 +168,8 @@ vm_contig_launder(int queue)
if ((m->flags & PG_MARKER) != 0)
continue;
if (!vm_pageout_page_lock(m, &next)) {
vm_page_unlock(m);
return (FALSE);
}
if (!vm_pageout_page_lock(m, &next))
continue;
KASSERT(VM_PAGE_INQUEUE2(m, queue),
("vm_contig_launder: page %p's queue is not %d", m, queue));
error = vm_contig_launder_page(m, &next);