Date: Sun, 4 Nov 2001 22:16:44 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: "David Xu" <davidx@viasoft.com.cn> Cc: "Peter Wemm" <peter@wemm.org>, <freebsd-hackers@FreeBSD.ORG> Subject: Re: pmap_collect() and PG_UNMANAGED Message-ID: <200111050616.fA56Gia43818@apollo.backplane.com> References: <20011101014322.1954A3808@overcee.netplex.com.au> <002f01c16277$e8ac22b0$ef01a8c0@davidwnt>
next in thread | previous in thread | raw e-mail | index | archive | help
This looks fine, though I don't expect anyone will ever notice any improvement in performance. But it's good for completeness. Peter, could you MFC it to -stable? -Matt :> "David Xu" wrote: :> > Hi, :> > :> > is there any reason why pmap_collect() in /sys/i386/i386/pmap.c does = :> > not :> > check PG_UNMANAGED flag? unmanaged page does not have pv_entry = :> > associated, :> > so call pmap_remove_all() has side effect, PG_MAPPED and PG_WRITEABLE = :> > are=20 :> > roughly cleared. :> > :> > -- :> > David Xu (Peter): :> Did you have something like this in mind? :> :> @@ -1729,7 +1729,7 @@ :> for(i = 0; i < vm_page_array_size; i++) { :> m = &vm_page_array[i]; :> if (m->wire_count || m->hold_count || m->busy || :> - (m->flags & PG_BUSY)) :> + (m->flags & (PG_BUSY | PG_UNMANAGED))) :> continue; :> pmap_remove_all(m); :> } :> (David): :Yes, I have changed and tested it yesterday, I have pushed a memory hog program into :system, run it about half an hour, almost every program was swapped out, still without :cause any problem, it seems it is safe to add this flag. : :David Xu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200111050616.fA56Gia43818>