I know that there are process context and interrupt context but I don't understand when executing softirq or tasklet, which context is it run under.
I have seen some people use the term "bottom-halves context", if there's such term, what's the difference comparing with the others.
Another question to softirq and tasklet is that why sleep are not allowed during execution??
Can anyone help me identify these questions, thanks!!

Check Solution