Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Mar 2002 18:42:57 -0800 (PST)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/vm vm_object.c
Message-ID:  <200203060242.g262gv628201@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      2002/03/05 18:42:57 PST

  Modified files:
    sys/vm               vm_object.c 
  Log:
  Add a sequential iteration optimization to vm_object_page_clean().  This
  moderately improves msync's and VM object flushing for objects containing
  randomly dirtied pages (fsync(), msync(), filesystem update daemon),
  and improves cpu use for small-ranged sequential msync()s in the face of
  very large mmap()ings from O(N) to O(1) as might be performed by a database.
  
  A sysctl, vm.msync_flush_flag, has been added and defaults to 3 (the two
  committed optimizations are turned on by default).  0 will turn off both
  optimizations.
  
  This code has already been tested under stable and is one in a series of
  memq / vp->v_dirtyblkhd / fsync optimizations to remove O(N^2) restart
  conditions that will be coming down the pipe.
  
  MFC after:      3 days
  
  Revision  Changes    Path
  1.201     +195 -76   src/sys/vm/vm_object.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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