site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hey Sam! On May 2, 2005, at 4:43 AM, Sam Vaughan wrote:
The funnels are still there to let file systems that aren't re- entrant continue to behave the way they did pre-Tiger. If you don't set a VFS flag to indicate that you're a re-entrant file system, the VFS/VOP interfaces will take the funnel before calling your file system entry points.
Should be a handy middle step when porting a 10.3 file system to 10.4. Once you're up and running, turn on re-entrancy and watch the deadlocks, data corruptions and panics roll in ;-)
Hmmm, the way I've understood it is that when you set the non- reentrant flag, the VFS creates a mutex on the FS's behalf and then automatically acquires/releases it before any VFS entry point. There should be no need for a global kernel funnel, as the kernel protects it's own data structures. Time to look at the source!
Sam
Fore pre-Tiger, yes, thread funnels were basically giant locks. There was one for networking and one for everything else in the BSD kernel. I'm surprised that they are still in Tiger, as that is supposed to be one of the big changes in the Tiger kernel: no more funnels. I can only surmise that they are there for some kind of backward compatibility, but since all NKE and FS kext's have to be updated to the kpi's I don't know who that compatibility would be for.
Brian Bergstrand <http://www.classicalguitar.net/brian/> PGP Key ID: 0xB6C7B6A2 -----BEGIN PGP SIGNATURE----- Version: PGP Desktop 9.0.0 (Build 2001) iQA/AwUBQnY/TnnR2Fu2x7aiEQJPmACg5JLZyviKZvmLaDDCz1sSzLRj/mkAoI0l 8zGbfOH9wnGFeB9jMgYqKFJe =vgjV -----END PGP SIGNATURE----- _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Brian Bergstrand