Message ID | 20200818105424.234108-1-hegdevasant@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | powerpc/pseries: Do not initiate shutdown when system is running on UPS | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (97a94d178e5876ad49482c42b13b7296cd6803de) |
snowpatch_ozlabs/build-ppc64le | warning | Upstream build failed, couldn't test patch |
snowpatch_ozlabs/build-ppc64be | warning | Upstream build failed, couldn't test patch |
snowpatch_ozlabs/build-ppc64e | warning | Upstream build failed, couldn't test patch |
snowpatch_ozlabs/build-pmac32 | warning | Upstream build failed, couldn't test patch |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 7 lines checked |
snowpatch_ozlabs/needsstable | success | Patch is tagged for stable |
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?
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:
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(-)