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 <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"
