From owner-cvs-src@FreeBSD.ORG Thu Mar 2 07:37:34 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9351516A420; Thu, 2 Mar 2006 07:37:34 +0000 (GMT) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id 306DA43D46; Thu, 2 Mar 2006 07:37:34 +0000 (GMT) (envelope-from jroberson@chesapeake.net) Received: from [10.0.0.1] (67-40-203-22.tukw.qwest.net [67.40.203.22]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.1/8.13.1) with ESMTP id k227bUxh057122; Thu, 2 Mar 2006 02:37:31 -0500 (EST) (envelope-from jroberson@chesapeake.net) Date: Wed, 1 Mar 2006 23:35:51 -0800 (PST) From: Jeff Roberson X-X-Sender: jroberson@10.0.0.1 To: Ruslan Ermilov In-Reply-To: <20060302072231.GI29183@ip.net.ua> Message-ID: <20060301233501.W557@10.0.0.1> References: <200603020550.k225oN2E007232@repoman.freebsd.org> <20060302072231.GI29183@ip.net.ua> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Scanned-By: MIMEDefang 2.52 on 216.240.101.25 Cc: cvs-src@FreeBSD.org, Jeff Roberson , 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 X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Mar 2006 07:37:34 -0000 On Thu, 2 Mar 2006, Ruslan Ermilov wrote: > Hi Jeff, > > Does this mean that when I "umount -f /mnt" where /mnt is NFS-mounted and > the exporting host is not responding (e.g., powered off), it will no longer > lock everything on "vfslock" or somesuch? I thought this was fixed with some changes to lookup. Can you be more specific about what code you're running and the wchan? Hopefully a stack too? I doubt this code is related. > > On Thu, Mar 02, 2006 at 05:50:23AM +0000, 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 > > -- > Ruslan Ermilov > ru@FreeBSD.org > FreeBSD committer >