cvs commit: src/sys/amd64/amd64 pmap.c
Peter Wemm
peter at FreeBSD.org
Mon Jun 7 23:51:21 GMT 2004
peter 2004-06-07 23:51:20 UTC
FreeBSD src repository
Modified files:
sys/amd64/amd64 pmap.c
Log:
Fix a serious problem that manifested during swap, and a few other times.
pmap_remove() would be called with a huge range and we'd stride across
it in only 2MB chunks. This would manifest as massive cpu time and a
largely unresponsive system during hard swap. Instead, check the higher
page directories which means we can run pmap_remove() in just a few
hundred loop iterations instead of millions since we can process
address space in chunks of 512GB and 1GB as well as 2MB.
Eternal thanks to: tmm
Revision Changes Path
1.462 +60 -18 src/sys/amd64/amd64/pmap.c
More information about the cvs-src
mailing list