Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Feb 2004 09:02:35 +0000
From:      Doug Rabson <dfr@nlsystems.com>
To:        Jeff Roberson <jroberson@mail.chesapeake.net>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Read Copy Update
Message-ID:  <1077181355.28133.13.camel@herring.nlsystems.com>
In-Reply-To: <20040218182136.S5430@mail.chesapeake.net>
References:  <1077137806.28133.10.camel@herring.nlsystems.com> <20040218182136.S5430@mail.chesapeake.net>

index | next in thread | previous in thread | raw e-mail

On Wed, 2004-02-18 at 23:26, Jeff Roberson wrote:
> On Wed, 18 Feb 2004, Doug Rabson wrote:
> 
> > So, I was reading the latest installment of the SCO soap on slashdot
> > today (bizarre - they seem to be claiming that they own all code that
> > was ever linked to a System V kernel) and I ended up trying to figure
> > out exactly what this RCU thing is that they claim is infringing their
> > right to obtain money with menaces.
> >
> > I read one of the original papers at
> > http://www.rdrop.com/users/paulmck/paper/rclockpdcsproof.pdf and its a
> > surprisingly simple idea. Basically for certain data structures which
> > are read-mostly, you can make the entire read path lock-free at the
> > expense of making updates quite a bit more expensive. They claim that
> > its much faster than reader-writer locks both for light contention and
> > for heavy contention.
> >
> > I imagine that a FreeBSD implementation of RCU wouldn't actually be too
> > hard and it might be well worth it as an alternative way of managing
> > concurrency, e.g. for the routing cache and the name cache (and probably
> > lots of other things).
> >
> 
> I've looked into this a bit myself.  My general feeling is that it would
> not be terribly difficult to do, but I would prefer to start with stronger
> primitives and work our way into more efficient mechanisms.  I say this
> for two reasons.  First, as a general rule of optimizations, you only
> optimize the things that need it.  I think we should wait and measure
> contention and then optimize things.  Secondly, we need to get more
> confidence in the correctness of simpler mechanisms in most subsystems
> before we go to something more complex.  It will be easier to move to RCU
> once a subsystem is already protected by mutexes.
> 
> I think that this is a good path to go down, but I really don't think
> we're ready yet.  I'd rather see energy spent protecting code than
> building more infrastructure.

I completely agree. I was just musing about this as a future addition to
the locking toolbox. Its certainly not worth trying before enough of the
kernel is outside the giant lock to make it worthwhile.



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1077181355.28133.13.camel>