Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Mar 2006 08:42:36 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Jeff Roberson <jeff@freebsd.org>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/sys mount.h vnode.h src/sys/kern vfs_subr.c src/sys/ufs/ffs ffs_alloc.c ffs_extern.h ffs_snapshot.c ffs_softdep.c softdep.h src/sys/ufs/ufs ufsmount.h
Message-ID:  <200603020842.39536.jhb@freebsd.org>
In-Reply-To: <200603020550.k225oN2E007232@repoman.freebsd.org>
References:  <200603020550.k225oN2E007232@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 02 March 2006 00:50, 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

Very nice!

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



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