|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] pv 2.6.31 (kernel.org) and save/migrate fails, domU BUG
On Wed, 2009-11-25 at 19:28 +0000, Jeremy Fitzhardinge wrote:
> On 11/25/09 06:12, Ian Campbell wrote:
> > tick_resume() is never called on secondary processors. Presumably this
> > is because they are offlined for suspend on native and so this is
> > normally taken care of in the CPU onlining path. Under Xen we keep all
> > CPUs online over a suspend.
> >
> > This patch papers over the issue for me but I will investigate a more
> > generic, less hacky, way of doing to the same.
> >
> > tick_suspend is also only called on the boot CPU which I presume should
> > be fixed too.
> >
>
> Yep. I wonder how it ever worked? There's been a fair amount of change
> in the PM code, so that could have changed things. I don't know if
> there's a deep reason for not calling tick_resume() on all processors.
>
> Rafael, tglx: suspend/resume under Xen doesn't need to hot unplug all
> the CPUs, so we don't; the hypervisor can manage the context
> save/restore for all CPUs. Is there a deep reason why
> timekeeping_resume() can't call the CLOCK_EVT_NOTIFY_RESUME notifier on
> all online CPUs?
Interrupts are disabled at that point where it currently calls the
notifier, so none of the SMP function call primitives work.
> > void xen_arch_resume(void)
> > {
> > - /* nothing */
> > + smp_call_function_many(cpu_online_mask, xen_vcpu_notify_restore,
> > + (void *)CLOCK_EVT_NOTIFY_RESUME, 1);
> > }
> >
>
> This is equivalent to smp_call_function().
Oh yeah.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |