A message for Linux.com registered users: We are in the process of making changes to the Linux forums. Starting Monday, 8/13/18 at 6:00 PM PT, you will be unable to access the forums. They will re-launch as soon as possible on Wednesday, 8/15/18 with new features and improved functionality. Thank you for your patience and stay tuned for the new improved forums.
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."