Subject: Re: Kernel threads
To: None <sommerfeld@orchard.arlington.ma.us>
From: Bharani Chadalavada <bharani.chadalavada@nexsi.com>
List: tech-kern
Date: 02/03/2001 15:02:57
What do I use for mutual exclusion for the data structures shared by the monitor
and the top-half /interrupt service routine of the device driver?/ Should I use
spldevice(), splx(s) mechanism or is there any other special kernel locking
mechanism?

I was looking at the sources pointed out by you, and one thing that interested me
was the lockmgr primitives. I don't fully understand the difference between them.
Can you please explain?

Thank you in advance.
Bharani.

Bill Sommerfeld wrote:

> > When you say, extremely early boot, it is device configuration??
>
> Yes (well, at least the parts of device config which run before
> interrupts are enabled and the process scheduler is started).
>
> On some platforms (i386 comes to mind) there are dependancies which
> make it difficult to correctly initialize thread state before certain
> key drivers have been attached.
>
> > And I assume that the kthread_run_deferred_queue() is the one which calls all
> > these call-back functions. Am I right?
>
> Yes.