Messages in this thread | | | Date | Sat, 22 Dec 2001 12:25:33 +0100 (CET) | From | Ingo Molnar <> | Subject | Re: affinity and tasklets... |
| |
On Mon, 17 Dec 2001, Ashok Raj wrote:
> In a MP case, we would like 2 separate processors taking the > completion processing. But running tasklets dont seem to suit this > since it basically queues on the same CPU that is currently running, > and this means both get queued to the same tasklet_vec[cpu]. But i > want each to run on a separate CPU. is using softirq the right method? > or could i have cpu affinity for tasklets? (i know there is afficinity > for interrupts, but iam not aware of this for tasklets.)
you'll get a natural affinity of tasklets: they will run on the processor where the tasklet got activated. Tasklets are just a special form of softirqs, they have no context in the classic task sense, the only difference they have to softirqs is that the tasklet code guarantees single-threadedness of the function executed.
if you are going to rely on tasklets for good SMP scalability then i'd suggest using a separate tasklet for every device IRQ. Then bind hardirqs to a particular CPU - thus both the hardirq, the softirq/tasklet will run on the same processor.
Ingo
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |