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

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

434


Advantages and disadvantages of using macro and inline functions?

496


What kinds of problems can you hit with lockless model?

448


Are you familiar with design patterns? What design software have you used and in what situations?

433


What buses are used for communication in embedded system?

448






What is digital signal controller ?

473


Explain whether we can use semaphore or mutex or spinlock in interrupt context in linux kernel?

490


What is a 'volatile' variable?

486


What is isr? Can they be passed any parameter and can they return a value?

526


What is the repository pattern? Why are patterns important?

480


Why do we need virtual device drivers when we have physical device drivers?

483


What is an anti-aliasing filter?

510


How do malloc and calloc work?

471


How does the interrupt architecture works?

512


Why are patterns important?

485