[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 07/23] xsplice: Implement support for applying/reverting/replacing patches. (v5)
On 02/16/2016 07:11 PM, Andrew Cooper wrote: snip + } + + barrier(); /* MUST do it after get_cpu_maps. */ + total_cpus = num_online_cpus() - 1; + + if ( total_cpus ) + { + printk(XENLOG_DEBUG "%s: CPU%u - IPIing the %u CPUs.\n", p->name, + cpu, total_cpus); + smp_call_function(reschedule_fn, NULL, 0); + } + (void)xsplice_do_single(total_cpus); + + ASSERT(local_irq_is_enabled()); + + put_cpu_maps(); + + printk(XENLOG_DEBUG "%s finished with rc=%d\n", p->name, p->rc); + } + else + { + /* Wait for all CPUs to rendezvous. */ + while ( xsplice_work.do_work && !xsplice_work.ready ) + { + cpu_relax(); + smp_rmb(); + } +What happens here if the rendezvous initiator times out? Looks like we will spin forever waiting for do_work which will never drop back to 0. xsplice_do_wait() sets do_work to 0 on a timeout. -- Ross Lagerwall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |