Skip site navigation (1)Skip section navigation (2)
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>