Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2000 00:30:37 -0800 (PST)
From:      Kirk McKusick <mckusick@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ufs/ffs ffs_inode.c ffs_softdep.c src/sys/ufs/ufs ufs_extern.h ufs_lookup.c
Message-ID:  <200012130830.eBD8UbJ17674@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
mckusick    2000/12/13 00:30:37 PST

  Modified files:
    sys/ufs/ffs          ffs_inode.c ffs_softdep.c 
    sys/ufs/ufs          ufs_extern.h ufs_lookup.c 
  Log:
  Preventing runaway kernel soft updates memory, take three.
  Previously, the syncer process was the only process in the
  system that could process the soft updates background work
  list. If enough other processes were adding requests to that
  list, it would eventually grow without bound. Because some of
  the work list requests require vnodes to be locked, it was
  not generally safe to let random processes process the work
  list while they already held vnodes locked. By adding a flag
  to the work list queue processing function to indicate whether
  the calling process could safely lock vnodes, it becomes possible
  to co-opt other processes into helping out with the work list.
  Now when the worklist gets too large, other processes can safely
  help out by picking off those work requests that can be handled
  without locking a vnode, leaving only the small number of
  requests requiring a vnode lock for the syncer process. With
  this change, it appears possible to keep even the nastiest
  workloads under control.
  
  Submitted by:	Paul Saab <ps@yahoo-inc.com>
  
  Revision  Changes    Path
  1.66      +3 -3      src/sys/ufs/ffs/ffs_inode.c
  1.80      +160 -71   src/sys/ufs/ffs/ffs_softdep.c
  1.29      +2 -1      src/sys/ufs/ufs/ufs_extern.h
  1.42      +7 -2      src/sys/ufs/ufs/ufs_lookup.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?200012130830.eBD8UbJ17674>