Date: Sun, 25 Apr 2010 20:40:45 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/amd64/amd64 pmap.c src/sys/i386/i386 pmap.c Message-ID: <201004252041.o3PKfYsl074652@repoman.freebsd.org>
index | next in thread | raw e-mail
alc 2010-04-25 20:40:45 UTC
FreeBSD src repository
Modified files:
sys/amd64/amd64 pmap.c
sys/i386/i386 pmap.c
Log:
SVN rev 207205 on 2010-04-25 20:40:45Z by alc
Clearing a page table entry's accessed bit (PG_A) and setting the
page's PG_REFERENCED flag in pmap_protect() can't really be justified.
In contrast to pmap_remove() or pmap_remove_all(), the mapping is not
being destroyed, so the notion that the page was accessed is not lost.
Moreover, clearing the page table entry's accessed bit and setting the
page's PG_REFERENCED flag can throw off the page daemon's activity
count calculation. Finally, in my tests, I found that 15% of the
atomic memory operations being performed by pmap_protect() were only
to clear PG_A, and not change protection. This could, by itself, be
fixed, but I don't see the point given the above argument.
Remove a comment from pmap_protect_pde() that is no longer meaningful
after the above change.
Revision Changes Path
1.691 +6 -23 src/sys/amd64/amd64/pmap.c
1.673 +6 -22 src/sys/i386/i386/pmap.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004252041.o3PKfYsl074652>
