Alexander Kolbasov wrote:
>> I need to offload some processing from high level interrupt to some
>> thing more sane.
>>
>> Historically I've always used soft interrupts to do this, as that was
>> the "documented" and preferred way.
>>
>> I'm curious though, we now have taskq's in the DDI.  What are the
>> trade-offs between using soft interrupts (SOFTINTR_HIGH was what I had
>> _planned_ to use) and taskq's?  Do soft interrupts get higher scheduling
>> priority?  What about dispatcher latencies?  Is there a difference?
>>     
>
> It is not possible to use task queues in high-level interrupt context. 
>   

Ah. And this is important -- I had neglected to consider that
taskq_dispatch() acquired a lock that wasn't high-level interrupt safe.

> You can create task queues with any priority you like, but most of them 
> (including system_taskq) execute at priority 60. Task queues usually cause a 
> context switch per request (unless requests can be joined together for a 
> single thread to chew on them).
>   

Right. :-) Thanks.

-- Garrett
> -
> Alexander Kolbasov
> http://blogs.sun.com/akolb
>   


-- 
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134  Fax: 951 325-2191

_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to