[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Question about Xen reboot on panic
>>> On 12.11.15 at 17:57, <xumengpanda@xxxxxxxxx> wrote: >> After looking into the code, I found the following code in the >> machine_restart(), which is quite suspicious. >> >> if ( system_state >= SYS_STATE_smp_boot ) >> >> { >> >> local_irq_enable(); >> >> >> /* Ensure we are the boot CPU. */ >> >> if ( get_apic_id() != boot_cpu_physical_apicid ) > > If we are at the boot CPU and the if statement return true > >> >> { >> >> /* Send IPI to the boot CPU (logical cpu 0). */ >> >> on_selected_cpus(cpumask_of(0), __machine_restart, >> >> &delay_millisecs, 0); > > we will send an IPI from CPU 0 to CPU to run machine_restart. The other way around you mean. >> >> for ( ; ; ) >> >> halt(); > > and CPU 0 will halt immediately. > > If the IPI arrives later on CPU 0, CPU 0 won't be able to handle it, > since it has been halted. It's CPUn that gets halted, not CPU0. This ... > (XEN) On P0 > As this line suggests, P0 sends P0 an IPI and P0 goes to halt immediately... ... is suspicious: Is boot_cpu_physical_apicid not set correctly? Or is get_apic_id() returning rubbish? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |