Welcome to the Linux Foundation Forum!

Difference between tasklet and softirq



I am learning bottom halves. While googling I observerd below points about softirqs and tasklets.

Softirqs: Softirqs have storng CPU affinity. A softirq handler will execute on the same CPU that it is raised on.

Tasklets: Unlike softirqs, a tasklet may run on only one CPU at a time. Tasklets have a weaker CPU affinity than softirqs. If the tasklet has already been scheduled on a different CPU, it will not moved to another CPU if it is still pending.

From the above, softirqs are having storng CPU affinity and tasklets are having weak CPU affinity, but both softirq and tasklet will execute on the same CPU.

Could you please tell me what is the meaning of the below sentence.

"A tasklet always runs on the same CPU that schedules it."




Upcoming Training