[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] softirq bound to vcpus
In "Understanding the Linux Kernel" 3rd edition, section 4.7 "Softirqs and Tasklets" it states: "Activation and execution [of defferable functions] are bound together: a deferrable function that has been activated by a given CPU must be executed on the same CPU. There is no self-evident reason suggesting that this rule is beneficial for system performance. Binding the deferrable function to the activating CPU could in theory make better use of the CPU hardware cache. After all, it is conceivable that the activating kernel thread accesses some data structures that will also be used by the deferrable function. However, the relevant lines could easily be no longer in the cache when the deferrable function is run because its execution can be delayed a long time. Moreover, binding a function to a CPU is always a potentially "dangerous" operation, because one CPU might end up very busy while the others are mostly idle." I think in Xen, the same approach is taken from what I can tell (softirq_pending is keyed by cpu, used both in activation (cpu_raise_softirq) and execution (do_softirq)). Is there room for optimization here? I'm looking at Xen's softirq mechanism and just noticed this, that's all. I have no performance data or anything. In Xen, when would the hardware cache situation in the quote above generally have a real effect? Are there any particularly large data structures accessed with defferable functions in Xen? Tim _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |