Er, sorry folks, there is a small bug in this that will take me a few minutes to get into the tree. Must've snuck in after the last review changes which weren't given to kris.

Welcome to current. ;-)

On Thu, 2 Mar 2006, Jeff Roberson wrote:

jeff        2006-03-02 05:50:23 UTC

 FreeBSD src repository

 Modified files:
   sys/sys              mount.h vnode.h
   sys/kern             vfs_subr.c
   sys/ufs/ffs          ffs_alloc.c ffs_extern.h ffs_snapshot.c
                        ffs_softdep.c softdep.h
   sys/ufs/ufs          ufsmount.h
 Log:
  - Move softdep from using a global worklist to per-mount worklists.  This
    has many positive effects including improved smp locking, reducing
    interdependencies between mounts that can lead to deadlocks, etc.
  - Add the softdep worklist and various counters to the ufsmnt structure.
  - Add a mount pointer to the workitem and remove mount pointers from the
    various structures derived from the workitem as they are now redundant.
  - Remove the poor-man's semaphore protecting softdep_process_worklist and
    softdep_flushworklist.  Several threads may now process the list
    simultaneously.
  - Add softdep_waitidle() to block the thread until all pending
    dependencies being operated on by other threads have been flushed.
  - Use softdep_waitidle() in unmount and snapshots to block either
    operation until the fs is stable.
  - Remove softdep worklist processing from the syncer and move it into the
    softdep_flush() thread.  This thread processes all softdep mounts
    once each second and when it is called via the new softdep_speedup()
    when there is a resource shortage.  This removes the softdep hook
    from the kernel and various hacks in header files to support it.

 Reviewed by/Discussed with:     tegge, truckman, mckusick
 Tested by:      kris

 Revision  Changes    Path
 1.661     +0 -10     src/sys/kern/vfs_subr.c
 1.206     +0 -4      src/sys/sys/mount.h
 1.314     +0 -1      src/sys/sys/vnode.h
 1.139     +3 -3      src/sys/ufs/ffs/ffs_alloc.c
 1.70      +4 -5      src/sys/ufs/ffs/ffs_extern.h
 1.113     +7 -0      src/sys/ufs/ffs/ffs_snapshot.c
 1.189     +313 -254  src/sys/ufs/ffs/ffs_softdep.c
 1.19      +1 -6      src/sys/ufs/ffs/softdep.h
 1.35      +8 -0      src/sys/ufs/ufs/ufsmount.h

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to