Skip site navigation (1)Skip section navigation (2)
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>