Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jun 2010 16:56:35 +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/sparc64/sparc64 ...
Message-ID:  <201006101656.o5AGuv1g043482@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
alc         2010-06-10 16:56:35 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/sparc64/sparc64  pmap.c 
    sys/sun4v/sun4v      pmap.c 
    sys/vm               vm_page.c vm_page.h vm_pageout.c 
  Log:
  SVN rev 208990 on 2010-06-10 16:56:35Z by alc
  
  Reduce the scope of the page queues lock and the number of
  PG_REFERENCED changes in vm_pageout_object_deactivate_pages().
  Simplify this function's inner loop using TAILQ_FOREACH(), and shorten
  some of its overly long lines.  Update a stale comment.
  
  Assert that PG_REFERENCED may be cleared only if the object containing
  the page is locked.  Add a comment documenting this.
  
  Assert that a caller to vm_page_requeue() holds the page queues lock,
  and assert that the page is on a page queue.
  
  Push down the page queues lock into pmap_ts_referenced() and
  pmap_page_exists_quick().  (As of now, there are no longer any pmap
  functions that expect to be called with the page queues lock held.)
  
  Neither pmap_ts_referenced() nor pmap_page_exists_quick() should ever
  be passed an unmanaged page.  Assert this rather than returning "0"
  and "FALSE" respectively.
  
  ARM:
  
  Simplify pmap_page_exists_quick() by switching to TAILQ_FOREACH().
  
  Push down the page queues lock inside of pmap_clearbit(), simplifying
  pmap_clear_modify(), pmap_clear_reference(), and pmap_remove_write().
  Additionally, this allows for avoiding the acquisition of the page
  queues lock in some cases.
  
  PowerPC/AIM:
  
  moea*_page_exits_quick() and moea*_page_wired_mappings() will never be
  called before pmap initialization is complete.  Therefore, the check
  for moea_initialized can be eliminated.
  
  Push down the page queues lock inside of moea*_clear_bit(),
  simplifying moea*_clear_modify() and moea*_clear_reference().
  
  The last parameter to moea*_clear_bit() is never used.  Eliminate it.
  
  PowerPC/BookE:
  
  Simplify mmu_booke_page_exists_quick()'s control flow.
  
  Reviewed by:    kib@
  
  Revision  Changes    Path
  1.704     +20 -13    src/sys/amd64/amd64/pmap.c
  1.128     +16 -22    src/sys/arm/arm/pmap.c
  1.685     +19 -13    src/sys/i386/i386/pmap.c
  1.45      +13 -9     src/sys/i386/xen/pmap.c
  1.223     +14 -14    src/sys/ia64/ia64/pmap.c
  1.62      +15 -10    src/sys/mips/mips/pmap.c
  1.143     +22 -30    src/sys/powerpc/aim/mmu_oea.c
  1.29      +21 -33    src/sys/powerpc/aim/mmu_oea64.c
  1.32      +17 -17    src/sys/powerpc/booke/pmap.c
  1.199     +15 -9     src/sys/sparc64/sparc64/pmap.c
  1.59      +13 -11    src/sys/sun4v/sun4v/pmap.c
  1.410     +9 -7      src/sys/vm/vm_page.c
  1.170     +3 -0      src/sys/vm/vm_page.h
  1.324     +30 -38    src/sys/vm/vm_pageout.c



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