From owner-freebsd-arch@FreeBSD.ORG Sat Aug 27 15:07:19 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DDD5106564A; Sat, 27 Aug 2011 15:07:19 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id BDA0A8FC0C; Sat, 27 Aug 2011 15:07:18 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id p7RF4UMu001658 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 27 Aug 2011 18:04:30 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id p7RF4Utv034565; Sat, 27 Aug 2011 18:04:30 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id p7RF4Uqr034564; Sat, 27 Aug 2011 18:04:30 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 27 Aug 2011 18:04:30 +0300 From: Kostik Belousov To: Attilio Rao Message-ID: <20110827150430.GI17489@deviant.kiev.zoral.com.ua> References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="LzERIFExplvR0PTW" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: FreeBSD FS , freebsd-current@freebsd.org, Robert Watson , freebsd-arch@freebsd.org Subject: Re: Removal of Giant from the VFS layer for 10.0 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Aug 2011 15:07:19 -0000 --LzERIFExplvR0PTW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Aug 27, 2011 at 02:00:50PM +0200, Attilio Rao wrote: > [ Sorry for cross-posting, but I included -arch@ for technical > discussion, -current@ for reaching the wider audience and -fs@ for the > relevance of the matter.] >=20 > During the last years a lot of effort by several developers happened > in order to reduce Giant influence over the entire kernel. > The VFS layer didn't make an exception, as many several tasks have > been completed along the years, including fine-grained locking for > vnodes lifecycle, fine-grained locking of the VFS structure (mount), > fine-grained locking of specific filesystems (UFS, NFS, etc.) and > several locking improvements to surrounding subsystem (buffer cache, > filedesc objects, VM layer, etc.). >=20 > While FreeBSD did pretty well so far, a major push is still needed in > order to completely remove Giant from our VFS and buffer cache > subsystems. > At the present time, the biggest problem is that there are still > filesystems which are not properly fine-grained locked, relying on > Giant for assuring atomicity. It is time to make an decision for them, > in order to aim for a Giant-less VFS in our next release. The scope of the project should be made slightly more concrete. If you do not use a non-mpsafe fs, then VFS does not acquire Giant. This is true at least for stable/8 and HEAD kernels, might be also true for stable/7, but I do not remember for sure. The aim of the project is to remove compatibility shims that conditionally acquire Giant on the as-needed basis to allow non-mpsafe filesystems to operate still under the usual locking regime. In other words, the project will not make anything much faster or scalable, but to remove some quite large amount of the crafty code from our VFS, which is, unfortunately, not known for the very clean interfaces. --LzERIFExplvR0PTW Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEARECAAYFAk5ZB34ACgkQC3+MBN1Mb4hZtACfQ0FFi0h+ySq6/yqLdaa8TKb1 l7MAnju58Ptqb8WXmYsHvziA3XwRusP/ =yjMg -----END PGP SIGNATURE----- --LzERIFExplvR0PTW--