[Date Prev][Date Next] [Chronological] [Thread] [Top]

[rtl] bottom halves



On Thu, 7 May 1998 12:15:17 -0600 (MDT), "Randy" <rjones@rtlinux.cs.nmt.edu> wrote:
> ---------- Forwarded message ----------
> From: Jens Michaelsen <SteenbeckDigital@compuserve.com>
> To: "RtLinuX (rtl)" <owner-rtl@rtlinux.cs.nmt.edu>
> Subject: Bottom Half
> 
> I'm looking for a way to trigger a vanilla/plain/nonRT kernel event from a
> RT-process.
> The RT-process does a 
> 
> mark_bh(MY_BH);
> 
> so when the cpu falls back to LinuX it calls the 
> 
> void my_bh( void ){}
> 
> as setup before. This seems to work, but I'm not shure
> if I will run into a race condition or preemption trouble.

A better way is to use queue_task_rt from include/tqueue.h
This routine is free of races and was written for precisely the purpose
you describe.

A special task queue, tq_rt, is run through in schedule(). You can create
your own task queues if you would like.

Michael.
--- [rtl] ---
For more information on Real-Time Linux see:
http://rtlinux.cs.nmt.edu/