Date: Mon, 7 Jun 2004 23:51:21 +0000 (UTC) From: Peter Wemm <peter@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/amd64/amd64 pmap.c Message-ID: <200406072351.i57NpLUS064185@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406072351.i57NpLUS064185>