Is tasklets or workqueues or softirqs are scheduled by the
scheduler?

Answer Posted / bharat bhushan

I do not think writing answer no is appropriate. Just
justification is needed.

There are three context in linux kernel. Process, Bottom
Half and interrupt. BH as literally is deferred in linux
2.5.??. Read Robert Love, Linux Kernel Development Ch 7.
BH can be one out of these. { Softirqs, Tasklets,
Workqueues}. We can schedule if something/someone goes to
sleep. That is how linux scheduler gets invoked. As you
know{?), interrupt (1st half), Softirq does not go to sleep.
So it is not right to say, we can schedule from Interrupt
Context. New implementation like Workqueues can go to sleep.
So, here we can schedule.
What about tasklets?
Tasklets runs as softirq ( I think SOFTIRQ_TASKLET_HI and
SOFTIRQ_TASKLET_??), so can not sleep.

Is This Answer Correct ?    4 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Why is java used in embedded systems?

507


What is mutex in an embedded system?

445


Would you call yourself a craftsman (craftsperson) and what does that word mean to you?

456


What is meant by a sandbox.

442


Tell me what are the 4 types of inheritance relationship?

435






Tell me why is it better to use multi-threading polling then single threading model?

469


What is the difference between hard real-time and soft real-time os?

432


What is pass by value and pass by reference? How are structure passed as arguments?

494


Why are patterns important?

479


Tell me can static variables be declared in a header file?

445


Please explain what is interrupt latency? How can you reduce it?

447


Explain the differences between stateless and stateful systems, and impacts of state on parallelism.

430


Describe to me some bad code you've read or inherited lately.

436


Tell me what is the need for an infinite loop in embedded systems?

441


Tell me what is microcontroller?

457