Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Apr 2010 17:32:52 +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/arm/arm pmap.c src/sys/i386/i386 pmap.c src/sys/i386/xen pmap.c src/sys/ia64/ia64 pmap.c src/sys/mips/mips pmap.c src/sys/powerpc/aim mmu_oea.c mmu_oea64.c src/sys/powerpc/booke pmap.c src/sys/powerpc/powerpc ...
Message-ID:  <201004241737.o3OHbRP7050212@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
alc         2010-04-24 17:32:52 UTC

  FreeBSD src repository

  Modified files:
    sys/amd64/amd64      pmap.c 
    sys/arm/arm          pmap.c 
    sys/i386/i386        pmap.c 
    sys/i386/xen         pmap.c 
    sys/ia64/ia64        pmap.c 
    sys/mips/mips        pmap.c 
    sys/powerpc/aim      mmu_oea.c mmu_oea64.c 
    sys/powerpc/booke    pmap.c 
    sys/powerpc/powerpc  mmu_if.m pmap_dispatch.c 
    sys/sparc64/sparc64  pmap.c 
    sys/sun4v/sun4v      pmap.c 
    sys/vm               pmap.h vm_mmap.c 
  Log:
  SVN rev 207155 on 2010-04-24 17:32:52Z by alc
  
  Resurrect pmap_is_referenced() and use it in mincore().  Essentially,
  pmap_ts_referenced() is not always appropriate for checking whether or
  not pages have been referenced because it clears any reference bits
  that it encounters.  For example, in mincore(), clearing the reference
  bits has two negative consequences.  First, it throws off the activity
  count calculations performed by the page daemon.  Specifically, a page
  on which mincore() has called pmap_ts_referenced() looks less active
  to the page daemon than it should.  Consequently, the page could be
  deactivated prematurely by the page daemon.  Arguably, this problem
  could be fixed by having mincore() duplicate the activity count
  calculation on the page.  However, there is a second problem for which
  that is not a solution.  In order to clear a reference on a 4KB page,
  it may be necessary to demote a 2/4MB page mapping.  Thus, a mincore()
  by one process can have the side effect of demoting a superpage
  mapping within another process!
  
  Revision  Changes    Path
  1.689     +45 -3     src/sys/amd64/amd64/pmap.c
  1.120     +14 -0     src/sys/arm/arm/pmap.c
  1.671     +47 -3     src/sys/i386/i386/pmap.c
  1.34      +29 -3     src/sys/i386/xen/pmap.c
  1.214     +32 -3     src/sys/ia64/ia64/pmap.c
  1.41      +15 -3     src/sys/mips/mips/pmap.c
  1.135     +11 -0     src/sys/powerpc/aim/mmu_oea.c
  1.22      +11 -0     src/sys/powerpc/aim/mmu_oea64.c
  1.23      +29 -0     src/sys/powerpc/booke/pmap.c
  1.13      +14 -0     src/sys/powerpc/powerpc/mmu_if.m
  1.21      +8 -0      src/sys/powerpc/powerpc/pmap_dispatch.c
  1.188     +21 -0     src/sys/sparc64/sparc64/pmap.c
  1.49      +11 -0     src/sys/sun4v/sun4v/pmap.c
  1.89      +1 -0      src/sys/vm/pmap.h
  1.238     +1 -3      src/sys/vm/vm_mmap.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004241737.o3OHbRP7050212>