|
[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 |