2005-10-18 20:55:21

by Joe Seigh

[permalink] [raw]
Subject: Possible killer app for user space RCU+SMR


I've been trying to come up with a good application for user space RCU+SMR.
This has been problematic since most apps these days are pretty bloated and
overloaded with features, so you're talking about a huge amount of effort which
is why I haven't done a lock-free database at this point but have been looking
for something a little more doable.

What about nscd, the name service cache daemon? It's possible to rewrite the
cache data structures to be reader lock-free, put them into a shared memory
segment, and be able to resolve lookups from cache without any syscall or ipc
overhead. If the lookup wasn't satisfied from cache then you would use a
syscall to communicate with nscd. Is this worthwhile? As it is, does the current
implementation of nscd provide actual performance benefits or is it just around for
the coolness factor?

Note this technique could be extended to allow direct reading of kernel data
structures mapped into shared memory segments as well if anyone found a
use for that.

--
Joe Seigh