Date: Wed, 25 Sep 2002 08:04:16 +0200 From: Poul-Henning Kamp <phk@critter.freebsd.dk> To: Jeff Roberson <jroberson@chesapeake.net> Cc: Robert Watson <rwatson@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/sys lockmgr.h Message-ID: <13689.1032933856@critter.freebsd.dk> In-Reply-To: Your message of "Wed, 25 Sep 2002 00:50:29 EDT." <20020925003055.L97589-100000@mail.chesapeake.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <20020925003055.L97589-100000@mail.chesapeake.net>, Jeff Roberson wr ites: >I'd like to get rid of the redundant *_fsync code. These are probably all >copies of ufs from different points and are broken in many different ways. I agree. >In terms of SMP safing vfs, it looks like struct buf needs a mutex. I >figured out the lock order, it would be something like: > >vn lock >buf lock >vn interlock >buf interlock Beware of vinum. >Also, the namecache has to be locked down. This is nontrivial. An early >attempt to use a big global lock failed. The mount structure has not been >locked down. The vnode/device relationship needs some more looking. vnode/device locking can be done in specfs, there exists no other paths between them (I hope!) If I manage to make DEVFS mandatory, that will be devfs instead of specfs. >In short, there is still much to do. As I have said before, my goal is to >have at least the top layer of VFS out from underneath Giant by 5.0. Can't we also put a lock per mountpoint and pull the filesystems out that way ? -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13689.1032933856>