As per PAPR specification whenever system is running on UPS we have to wait for predefined time (default 10mins) before initiating shutdown.
We have user space tool (rtas_errd) to monitor for EPOW events and initiate shutdown after predefined time. Hence do not initiate shutdown whenever we get EPOW_SHUTDOWN_ON_UPS event.
Fixes: 79872e35 (powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown) Cc: stable@vger.kernel.org # v4.0+ Cc: Michael Ellerman mpe@ellerman.id.au Signed-off-by: Vasant Hegde hegdevasant@linux.vnet.ibm.com --- arch/powerpc/platforms/pseries/ras.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index f3736fcd98fc..13c86a292c6d 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c @@ -184,7 +184,6 @@ static void handle_system_shutdown(char event_modifier) case EPOW_SHUTDOWN_ON_UPS: pr_emerg("Loss of system power detected. System is running on" " UPS/battery. Check RTAS error log for details\n"); - orderly_poweroff(true); break;
case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS:
On 8/18/20 3:54 AM, Vasant Hegde wrote:
As per PAPR specification whenever system is running on UPS we have to wait for predefined time (default 10mins) before initiating shutdown.
The wording in PAPR seems a little unclear. It states for an EPOW_SYSTEM_SHUTDOWN action code that an EPOW error should be logged followed by scheduling a shutdown to begin after an OS defined delay interval (with 10 minutes the suggested default).
However, the modifier code descriptions seems to imply that a normal shutdown is the only one that should happen with no additional delay.
For EPOW sensor value = 3 (EPOW_SYSTEM_SHUTDOWN) 0x01 = Normal system shutdown with no additional delay 0x02 = Loss of utility power, system is running on UPS/Battery 0x03 = Loss of system critical functions, system should be shutdown 0x04 = Ambient temperature too high
For 0x03-0x04 we also do an orderly_poweroff().
Not sure if it really matters, but I was curious and this is just what I gleaned from glancing at PAPR.
-Tyrel
We have user space tool (rtas_errd) to monitor for EPOW events and initiate shutdown after predefined time. Hence do not initiate shutdown whenever we get EPOW_SHUTDOWN_ON_UPS event.
Fixes: 79872e35 (powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown) Cc: stable@vger.kernel.org # v4.0+ Cc: Michael Ellerman mpe@ellerman.id.au Signed-off-by: Vasant Hegde hegdevasant@linux.vnet.ibm.com
arch/powerpc/platforms/pseries/ras.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index f3736fcd98fc..13c86a292c6d 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c @@ -184,7 +184,6 @@ static void handle_system_shutdown(char event_modifier) case EPOW_SHUTDOWN_ON_UPS: pr_emerg("Loss of system power detected. System is running on" " UPS/battery. Check RTAS error log for details\n");
orderly_poweroff(true);
break;
case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS:
On 8/19/20 1:05 AM, Tyrel Datwyler wrote:
On 8/18/20 3:54 AM, Vasant Hegde wrote:
As per PAPR specification whenever system is running on UPS we have to wait for predefined time (default 10mins) before initiating shutdown.
The wording in PAPR seems a little unclear. It states for an EPOW_SYSTEM_SHUTDOWN action code that an EPOW error should be logged followed by scheduling a shutdown to begin after an OS defined delay interval (with 10 minutes the suggested default).
However, the modifier code descriptions seems to imply that a normal shutdown is the only one that should happen with no additional delay.
For EPOW sensor value = 3 (EPOW_SYSTEM_SHUTDOWN) 0x01 = Normal system shutdown with no additional delay 0x02 = Loss of utility power, system is running on UPS/Battery 0x03 = Loss of system critical functions, system should be shutdown 0x04 = Ambient temperature too high
For 0x03-0x04 we also do an orderly_poweroff().
Not sure if it really matters, but I was curious and this is just what I gleaned from glancing at PAPR.
Correct. PAPR is bit confusing. But we know for sure that when running on UPS we don't need to shutdown immediately.
For values 0x03 and 0x04 I think its ok to initiate shutdown (that's the same behaviour exists for long time). I can double check with firmware folks.
-Vasant
-Tyrel
We have user space tool (rtas_errd) to monitor for EPOW events and initiate shutdown after predefined time. Hence do not initiate shutdown whenever we get EPOW_SHUTDOWN_ON_UPS event.
Fixes: 79872e35 (powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown) Cc: stable@vger.kernel.org # v4.0+ Cc: Michael Ellerman mpe@ellerman.id.au Signed-off-by: Vasant Hegde hegdevasant@linux.vnet.ibm.com
arch/powerpc/platforms/pseries/ras.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index f3736fcd98fc..13c86a292c6d 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c @@ -184,7 +184,6 @@ static void handle_system_shutdown(char event_modifier) case EPOW_SHUTDOWN_ON_UPS: pr_emerg("Loss of system power detected. System is running on" " UPS/battery. Check RTAS error log for details\n");
orderly_poweroff(true);
break;
case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS:
Hi
[This is an automated email]
This commit has been processed because it contains a "Fixes:" tag fixing commit: 79872e35469b ("powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown").
The bot has tested the following trees: v5.8.2, v5.7.16, v5.4.59, v4.19.140, v4.14.193, v4.9.232, v4.4.232.
v5.8.2: Build OK! v5.7.16: Build OK! v5.4.59: Build OK! v4.19.140: Build OK! v4.14.193: Build OK! v4.9.232: Build OK! v4.4.232: Failed to apply! Possible dependencies: b4af279a7cba ("powerpc/pseries: Limit EPOW reset event warnings")
NOTE: The patch will not be queued to stable trees until it is upstream.
How should we proceed with this patch?
linux-stable-mirror@lists.linaro.org