On Sat, Aug 27, 2011 at 02:00:50PM +0200, Attilio Rao wrote: > [ Sorry for cross-posting, but I included -arch_at_ for technical > discussion, -current_at_ for reaching the wider audience and -fs_at_ for the > relevance of the matter.] > > 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.). > > 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.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:17 UTC