Urgent interrupt thread

Ninad Adi adi.ninad at gmail.com
Tue Aug 16 07:03:31 UTC 2011


Thanks a lot john for considering my mail.
Well the things are clear now.

Ninad Adi

On Monday, August 15, 2011, John Baldwin <jhb at freebsd.org> wrote:
> On Friday, August 12, 2011 4:59:18 am Ninad Adi wrote:
>> Thanks for your prompt replies sir,
>> just one more clarification
>>
>> the routine bus_setup_intr has 5th arg of
>> type driver_intr_t ithread then if I am not
>> wrong my isr is running as a thread, probably
>> thats the reason why latest drivers dont use
>> Deferring mechanism like iwi, iwn, ral. However
>> Atheros is still using taskqueues which is considerably old I suppose.
>> So using filter+ithread model without deferring
>> Should be fine.
>> Plz let me know your opinions on the same,
>> It would help me understand freebsd better.
>> Will not disturb you more.
>> Awaiting,reply
>
> You should just use the 'driver_intr_t' method which will be a function
that
> runs in an ithread.  It cannot sleep in that it cannot call functions like
> tsleep() or cv_wait() or use "sleepable" locks like sx(9) locks.  It can,
> however, use other locks such as mutexes and rwlocks.  It can also wakeup
> other sleeping threads using cv_signal/broadcast, wakeup(), etc.  In
general
> you probably don't need to use a filter routine.
>
> --
> John Baldwin
>


More information about the freebsd-threads mailing list