Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Aug 2011 18:04:30 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Attilio Rao <attilio@freebsd.org>
Cc:        FreeBSD FS <freebsd-fs@freebsd.org>, freebsd-current@freebsd.org, Robert Watson <rwatson@freebsd.org>, freebsd-arch@freebsd.org
Subject:   Re: Removal of Giant from the VFS layer for 10.0
Message-ID:  <20110827150430.GI17489@deviant.kiev.zoral.com.ua>
In-Reply-To: <CAJ-FndCwwtbZBZJoZwEmrcrPfooXp15g-yX8-urqJUXnH%2BT1cw@mail.gmail.com>
References:  <CAJ-FndCwwtbZBZJoZwEmrcrPfooXp15g-yX8-urqJUXnH%2BT1cw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--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--



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