Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Nov 2004 20:17:32 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern kern_subr.c uipc_jumbo.c uipc_syscalls.c vfs_bio.c src/sys/sparc64/sparc64 pmap.c src/sys/vm vm_contig.c vm_glue.c vm_object.c vm_page.c vm_pageout.c
Message-ID:  <200411032017.iA3KHWJX031697@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
alc         2004-11-03 20:17:32 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_subr.c uipc_jumbo.c uipc_syscalls.c 
                         vfs_bio.c 
    sys/sparc64/sparc64  pmap.c 
    sys/vm               vm_contig.c vm_glue.c vm_object.c 
                         vm_page.c vm_pageout.c 
  Log:
  The synchronization provided by vm object locking has eliminated the
  need for most calls to vm_page_busy().  Specifically, most calls to
  vm_page_busy() occur immediately prior to a call to vm_page_remove().
  In such cases, the containing vm object is locked across both calls.
  Consequently, the setting of the vm page's PG_BUSY flag is not even
  visible to other threads that are following the synchronization
  protocol.
  
  This change (1) eliminates the calls to vm_page_busy() that
  immediately precede a call to vm_page_remove() or functions, such as
  vm_page_free() and vm_page_rename(), that call it and (2) relaxes the
  requirement in vm_page_remove() that the vm page's PG_BUSY flag is
  set.  Now, the vm page's PG_BUSY flag is set only when the vm object
  lock is released while the vm page is still in transition.  Typically,
  this is when it is undergoing I/O.
  
  Revision  Changes    Path
  1.90      +0 -2      src/sys/kern/kern_subr.c
  1.11      +0 -1      src/sys/kern/uipc_jumbo.c
  1.205     +0 -1      src/sys/kern/uipc_syscalls.c
  1.464     +0 -2      src/sys/kern/vfs_bio.c
  1.140     +0 -1      src/sys/sparc64/sparc64/pmap.c
  1.40      +0 -2      src/sys/vm/vm_contig.c
  1.206     +0 -2      src/sys/vm/vm_glue.c
  1.333     +0 -3      src/sys/vm/vm_object.c
  1.298     +5 -14     src/sys/vm/vm_page.c
  1.265     +0 -2      src/sys/vm/vm_pageout.c



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