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