From: Wei Liu Date: Thu, 31 Aug 2017 15:28:49 +0000 (+0100) Subject: Revert "xen: in do_softirq() sample smp_processor_id() only once." X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~1513 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ec39d5b4f1ce512f54fc96508f13d95ef6a15ce6;p=xen.git Revert "xen: in do_softirq() sample smp_processor_id() only once." This reverts commit 57450cfe48b56db90166c52d45a411a9279a12e1. This breaks arm tests. Signed-off-by: Wei Liu --- diff --git a/xen/common/softirq.c b/xen/common/softirq.c index 67c84ba379..ac12cf85e5 100644 --- a/xen/common/softirq.c +++ b/xen/common/softirq.c @@ -27,12 +27,16 @@ static DEFINE_PER_CPU(unsigned int, batching); static void __do_softirq(unsigned long ignore_mask) { - unsigned int i, cpu = smp_processor_id(); + unsigned int i, cpu; unsigned long pending; for ( ; ; ) { - ASSERT(cpu == smp_processor_id()); + /* + * Initialise @cpu on every iteration: SCHEDULE_SOFTIRQ may move + * us to another processor. + */ + cpu = smp_processor_id(); if ( rcu_pending(cpu) ) rcu_check_callbacks(cpu);