Date: Mon, 28 Jun 1999 21:26:28 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Terry Lambert <tlambert@primenet.com> Cc: freebsd-smp@FreeBSD.ORG Subject: Re: high-efficiency SMP locks - submission for review Message-ID: <199906290426.VAA26171@apollo.backplane.com> References: <199906290116.SAA08367@usr05.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I think we are ultimately going to stick to the recursive-shared/ recursive-exclusive model for most of our buffer and VFS/BIO locking. This isn't set in stone, but it turns out that if we can turn the exclusive locks used for I/O ops into shared locks, we can get rid of nearly all the access blocking conditions. With exclusive locks relegated to non-blocking critical-path code (e.g. setting up for a write I/O, but not held during the actual write I/O), most of the parallelization and interlock problems magically go away which I think is really cool. There would then be no need for a more sophisticated (and more complex) intention locks, no need to manage locking chains for deadlock detection, and so forth. I think intention locks can still be used in places where the structural complexity warrants it... like vnode operations, for example. The only part of a vnode that the VM system really cares about is the vnode's file size, so that would be one intention lock. inode updates would be another intention lock, synchronization would be another, and create/destroy would be a another. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906290426.VAA26171>