context_switch() of Xen/IA64 returns unlike Xen/x86. On the other hand xen vcpu switch is done by softirq drivern timer handler. As a result smp_processor_id() may change on Xen/IA64 right after calling a handler in do_softirq(). If it happens, do_softirq() touches another physical cpu''s softirq_pending. This patch fixes it. It is needless to use smp_processor_id() twice on x86. Should #ifndef be used around cpu = smp_processor_id()? Or should something like __ARCH_HAVE_DO_SORTIRQ be introduced? Thanks -- yamahata _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 30 Jun 2006, at 11:47, Isaku Yamahata wrote:> It is needless to use smp_processor_id() twice on x86. > Should #ifndef be used around cpu = smp_processor_id()? > Or should something like __ARCH_HAVE_DO_SORTIRQ be introduced?I doubt that this is a worthwhile optimisation. I''ll take the patch as-is, but add a comment. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel