From: Matthew Dillon Date: Thu, 8 Jul 2010 05:15:05 +0000 (-0700) Subject: kernel - skip PG_MARKER vm pages. X-Git-Tag: v2.8.0~785 X-Git-Url: http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/ac2c8895a1f9bb9dcbf34e5847a2085c4383d19b kernel - skip PG_MARKER vm pages. * The contigmalloc code was improperly interpreting PG_MARKER VM pages, resulting in an infinite blocking condition. --- diff --git a/sys/vm/vm_contig.c b/sys/vm/vm_contig.c index 6a2e90e..a65024d 100644 --- a/sys/vm/vm_contig.c +++ b/sys/vm/vm_contig.c @@ -153,6 +153,9 @@ vm_contig_pg_clean(int queue) ("vm_contig_clean: page %p's queue is not %d", m, queue)); next = TAILQ_NEXT(m, pageq); + + if (m->flags & PG_MARKER) + continue; if (vm_page_sleep_busy(m, TRUE, "vpctw0")) return (TRUE);