From owner-cvs-src@FreeBSD.ORG Thu Mar 2 07:30:51 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 F393D16A420; Thu, 2 Mar 2006 07:30:50 +0000 (GMT) (envelope-from ru@ip.net.ua) Received: from tigra.ip.net.ua (tigra.ip.net.ua [82.193.96.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id E744443D53; Thu, 2 Mar 2006 07:30:31 +0000 (GMT) (envelope-from ru@ip.net.ua) Received: from localhost (rocky.ip.net.ua [82.193.96.2]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id k227UU1h004072; Thu, 2 Mar 2006 09:30:30 +0200 (EET) (envelope-from ru@ip.net.ua) Received: from tigra.ip.net.ua ([82.193.96.10]) by localhost (rocky.ip.net.ua [82.193.96.2]) (amavisd-new, port 10024) with LMTP id 90097-01; Thu, 2 Mar 2006 09:30:18 +0200 (EET) Received: from heffalump.ip.net.ua (heffalump.ip.net.ua [82.193.96.213]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id k227MKaV003835 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 2 Mar 2006 09:22:20 +0200 (EET) (envelope-from ru@ip.net.ua) Received: (from ru@localhost) by heffalump.ip.net.ua (8.13.4/8.13.4) id k227MVYG023365; Thu, 2 Mar 2006 09:22:31 +0200 (EET) (envelope-from ru) Date: Thu, 2 Mar 2006 09:22:31 +0200 From: Ruslan Ermilov To: Jeff Roberson Message-ID: <20060302072231.GI29183@ip.net.ua> References: <200603020550.k225oN2E007232@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="6lCXDTVICvIQMz0h" Content-Disposition: inline In-Reply-To: <200603020550.k225oN2E007232@repoman.freebsd.org> User-Agent: Mutt/1.5.11 X-Virus-Scanned: amavisd-new at ip.net.ua 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 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:30:51 -0000 --6lCXDTVICvIQMz0h Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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? On Thu, Mar 02, 2006 at 05:50:23AM +0000, Jeff Roberson wrote: > jeff 2006-03-02 05:50:23 UTC >=20 > FreeBSD src repository >=20 > Modified files: > sys/sys mount.h vnode.h=20 > sys/kern vfs_subr.c=20 > sys/ufs/ffs ffs_alloc.c ffs_extern.h ffs_snapshot.c=20 > ffs_softdep.c softdep.h=20 > sys/ufs/ufs ufsmount.h=20 > Log: > - Move softdep from using a global worklist to per-mount worklists. T= his > 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 structur= e. > - Add a mount pointer to the workitem and remove mount pointers from t= he > various structures derived from the workitem as they are now redunda= nt. > - 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. > =20 > Reviewed by/Discussed with: tegge, truckman, mckusick > Tested by: kris > =20 > 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 --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --6lCXDTVICvIQMz0h Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFEBp03qRfpzJluFF4RAjKDAJ46wSWWArR2lZvM0+JMaiUYDuB5OQCgjNcD yFZw8sMjxY1+rsuVRy/zPQ8= =nT2y -----END PGP SIGNATURE----- --6lCXDTVICvIQMz0h--