[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Patch][RFC] fix PAL_HALT ( is Re: [Xen-ia64-devel] [RFC] dumpcore is failed for PAL_HALT)



Hi, Alex

Thank you for your elaboration.
I agree your opinion.

>So, for PV domains, cpu_halt() should just take the vcpu offline.  I
>don't think there's any reason to special case the last vcpu going
>offline and shutdown the domain.  That's not what real hardware does.
Exactly.

>Machine restart/reboot should (and does) happen transparently when Xen
>catches the EFI call.  To support poweroff, I think we should set
>pm_power_off to a Xen specific hypervisor shutdown routine.  The
>abstraction is already in place to do this.
OK, I'll try it.

>Do VTI domains implement enough ACPI to provide the OS a fake S5 power
>state?  If not, a PV-on-HVM driver could set pm_power_off and use a
>hypercall, but that means HVM domains would need a Xen driver for some
>pretty basic functionality.  Maybe all vcpus in cpu_halt() should only
>be cause for a domain shutdown for VTI domains?
Hmm. Some OSes on VTI may use cpu_halt() on all vcpu.
So I add printk like "call PAL_HALT on all cpu",
and call domain_shutdown() for VTI domain.
Is this OK?

Best Regards,

Akio Takebe

>On Wed, 2007-01-24 at 11:14 +0100, tgingold@xxxxxxx wrote:
>> Selon Isaku Yamahata <yamahata@xxxxxxxxxxxxx>:
>> 
>> > On Wed, Jan 24, 2007 at 11:43:37AM +0900, Akio Takebe wrote:
>> [...]
>> > According to SDM vol2 11.9, PAL_HALT places cpu in low power state.
>> Correct.
>> 
>> > So the current behaviour that xen/ia64 shutdown unconditionally is
>> > wrong.
>> Yes, but that's the code in linux/ia64.
>> Why linux/ia64 doesn't call the shutdown EFI runtime service ?  I don't 
>> know.
>> Maybe Alex knows the answer.
>
>   I think we need to be sure we're getting the correct expected user
>behavior for domains.  A user expects the following on real hardware:
>
>      * halt: Machine is stopped, not shutdown, not rebooted.
>        Linux/ia64 uses PAL_HALT for this.
>      * restart/reboot: Machine is reset.  Linux/ia64 uses
>        efi.reset_system for this.
>      * poweroff: Machine is turned off.  Linux/ia64 uses ACPI S5 power
>        state if pm_power_off is set, otherwise behaves as if halted.
>
>So, for PV domains, cpu_halt() should just take the vcpu offline.  I
>don't think there's any reason to special case the last vcpu going
>offline and shutdown the domain.  That's not what real hardware does.
>Machine restart/reboot should (and does) happen transparently when Xen
>catches the EFI call.  To support poweroff, I think we should set
>pm_power_off to a Xen specific hypervisor shutdown routine.  The
>abstraction is already in place to do this.
>
>Do VTI domains implement enough ACPI to provide the OS a fake S5 power
>state?  If not, a PV-on-HVM driver could set pm_power_off and use a
>hypercall, but that means HVM domains would need a Xen driver for some
>pretty basic functionality.  Maybe all vcpus in cpu_halt() should only
>be cause for a domain shutdown for VTI domains?
>
>> > CPU hot-unplug routine also calls cpu_halt(). In that case,
>> > only the targeted cpu should be halted. We don't want domain shutdown.
>> If the last vcpu calls PAL_HALT, the domain can be safely shut down.
>
>  It's safe, but I don't agree that it should.  Thanks,
>
>       Alex
>
>
>_______________________________________________
>Xen-ia64-devel mailing list
>Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>http://lists.xensource.com/xen-ia64-devel


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.