tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Softint question.



On Jan 16, 2011, at 3:50 PM, Johnny Billquist wrote:

> I have not deeply analyzed the code, but I thought perhaps someone on this 
> list can expand/explain a question that just popped into my head.
> 
> (I'm using the VAX port myself, but I think this question is more general.)
> 
> When a softint is processed, it is done in the context of the current process 
> (correct me if I'm wrong).

Consider yourself corrected.  It happens in a different lwp dedicated to that 
softint and cpu/

> What happens if a context switch happens while the softint is being 
> processed. Will the softint be suspended from completion until the next time 
> that process is running? Or how is this dealt with?

Basically, if the softint needs a context switch because it needs to sleep, the 
lwp that was running when the softint took over will resume execution with 
control being restarted at softint_cleanup to cleanup things and return back to 
the interrupted thread.

> The reason I'm asking is that some "odd" observations I've seen on my VAXen 
> might be caused by a behaviour like this, but this is very much just 
> speculation on my part right now. So if someone could shed some light on how 
> this works, it would be wonderful.




Home | Main Index | Thread Index | Old Index