Multithreading the KDC server

Rahul Srinivas srahul at
Wed Mar 23 06:48:30 EST 2005

Hi Sam,
        Thanks for your input. I am currently preparing a document 
outlining the design for multithreading the KDC server. I will include 
your suggestion and also address the issues pointed out by Ken Raeburn in 
it. I will send the document to the list for review in the next few days.


-Rahul S.

On Tue, 22 Mar 2005, Sam Hartman wrote:

> If I were trying to do an initial implementation of a multi-threaded
> KDC I'd start with one big request mutex.  The idea is that the KDC
> should only be processing one request at a time.
> Then provide a yield function to save away the state associated with
> the current request, unlock the mutex.  You'd also want a reacquire
> function.
> In the e-directory lookup code, you would:
> * save the information you need to do the lookup
> * yield the current request
> * do the lookup
> * reacquire the request so you can respond to it.
> Then you would modify the main loop to start several threads.
> In practice, at most one thread would be in the main part of the KDC.
> Other threads could be idle, doing database lookups or waiting to get
> back into the main section.
> Over successive versions we could create more regions where finer
> grain locks are available.

More information about the krbdev mailing list