On Fri, 2009-08-14 at 09:58 -0400, Dmitri Pal wrote:
> I am still
> considering to adopt a shared memory approach to talk with the clients
> to speed up lookups like nscd does, so that would add a new cache.
>
>
Let us talk about this one more.
All there rest I agree with.
Can you explain this point in more details?
Very briefly:
nscd uses a shared memory technique to allow clients to read data
and uses memory barriers and garbage collection to update it.
The memory is read-only for clients, but is much faster than sending a
request and waiting for the kernel to schedule sssd_nss let it process
the request, do a search on ldb and then return results.
Of course if the data in the shared memory is old (we'd use timestamps
so the client will check if the data is too old) or missing, the client
will still revert to the usual communication over the pipe.
Also, in nscd all enumerations always go through the pipe, not sure if
we want to do the same or not.
Simo.
--
Simo Sorce * Red Hat, Inc * New York