Re: [PATCH] powerpc/pseries: Do not initiate shutdown when system is running on UPS

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

 



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@xxxxxxxxxxxxxxx # v4.0+
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx>
---
  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:






[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux