Subject: Re: Kernel threads
To: Bharani Chadalavada <bharani.chadalavada@nexsi.com>
From: Bill Studenmund <wrstuden@zembu.com>
List: tech-kern
Date: 02/05/2001 09:54:12
On Sat, 3 Feb 2001, Bharani Chadalavada wrote:

> OK. I started playing with this and I wrote a small kernel thread which is
> awakened periodically by the interrupt service routine. Basically I have something
> like this.
> 
> device_monitor()
> {
>     while(1)
>     {
>         tsleep(&do_monitor, PWCHAN, "bharani", 0); /* PWCHAN = 12 */
>         Do_read_device_registers();
>     }
> }
> 
> and I have my interrupt service routine coded like this :
> 
> service_interr()
> {
>     ...
>     ...
>     wakeup(&do_monitor);
> }
> 
> (I am running NetBSD on our hardware simulator and I put break points on the
> kernel thread routine)
> 
> 
> I can see the thread being created (when I do ps, I see "bharani"). But it does
> not seem to be getting scheduled at all. Obviously I am missing something. I think
> I am giving it a wrong priority or something. Could you please figure out what I
> am doing wrong??

Does anything ever wake it up once?

Take care,

Bill