Open ChicagoDuan opened 1 year ago
Why PLDM has this constraint? Is it because of the hardware design constraints of the Rainier (p10) platform that led to the choice of only supporting WarmReboot?
I think the only use case we had was for the host to do warm reboots. Warm reboots are faster so should be the default. Do you have a need for a cold reboot? We could look into a mechanism over PLDM if needed. There is no reason we couldn't do it.
Additionally, in the code of phosphor-state-manager[2], we see that WarmReboot can be mapped to ColdReboot, and it mentions that "Some systems do not support a warm reboot." Is it due to motherboard design constraints that some of the systems mentioned here do not support warm reboot?
This was just our witherspoon system that could not support this. It was an issue we found when we introduced warm reboots (for P10) and did not see the effort to debugging it on P9 being worth it.
As Andrew mentioned, since the WarmReboot needs to be faster, the current design of PLDM is to fetch all the PLDM PDRs from the host once we reach back after reboot. So if the chassis power off happens, this design won't work and needs a change in the current PLDM mechanism.
@ChicagoDuan , can we close this?
As Andrew mentioned, since the WarmReboot needs to be faster, the current design of PLDM is to fetch all the PLDM PDRs from the host once we reach back after reboot. So if the chassis power off happens, this design won't work and needs a change in the current PLDM mechanism.
Hi @jaypadath, We only use ColdReboot. We have disabled WarmReboot in the phosphor-state-manager: https://github.com/openbmc/phosphor-state-manager/blob/0886545d42088fbe6241309577a4f11451325cc0/host_state_manager.cpp#L102
What changes do we need to make regarding the mechanism of PLDM you mentioned? Thanks
We've noticed that the current PLDM code only supports WarmReboot[1], which, as we understand it, means that when you reboot, the motherboard's power remains on (it doesn't go through the chassis power-off process).
Why PLDM has this constraint? Is it because of the hardware design constraints of the Rainier (p10) platform that led to the choice of only supporting WarmReboot?
Additionally, in the code of phosphor-state-manager[2], we see that WarmReboot can be mapped to ColdReboot, and it mentions that "Some systems do not support a warm reboot." Is it due to motherboard design constraints that some of the systems mentioned here do not support warm reboot?
Which systems do not support WarmReboot, which ones do, and how can they be distinguished?
[1] https://github.com/ibm-openbmc/pldm/blob/1050/oem/ibm/libpldmresponder/oem_ibm_handler.cpp#L1534 [2] https://github.com/ibm-openbmc/phosphor-state-manager/blob/1050/host_state_manager.cpp#L100