From: Vipin K Parashar <vipin@linux.vnet.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: stewart@linux.vnet.ibm.com, linuxppc-dev@lists.ozlabs.org,
joel@jms.id.au
Subject: Re: [PATCH v2 1/2] powerpc/powernv: Add poweroff (EPOW, DPO) events support for PowerNV platform
Date: Mon, 11 May 2015 14:31:31 +0530 [thread overview]
Message-ID: <55506FEB.3010701@linux.vnet.ibm.com> (raw)
In-Reply-To: <1431326992.31935.1.camel@ellerman.id.au>
On 05/11/2015 12:19 PM, Michael Ellerman wrote:
> On Thu, 2015-05-07 at 15:00 +0530, Vipin K Parashar wrote:
>> This patch adds support for FSP EPOW (Early Power Off Warning) and
>> DPO (Delayed Power Off) events support for PowerNV platform. EPOW events
>> are generated by SPCN/FSP due to various critical system conditions that
>> need system shutdown. Few examples of these conditions are high ambient
>> temperature or system running on UPS power with low UPS battery. DPO event
>> is generated in response to admin initiated system shutdown request.
>> This patch enables host kernel on PowerNV platform to handle OPAL
>> notifications for these events and initiate system poweroff. Since EPOW
>> notifications are sent in advance of impending shutdown event and thus
>> this patch also adds functionality to wait for EPOW condition to return to
>> normal. Host allows MAX_POWEROFF_SYS_TIME (600 seconds) as system
>> poweroff time (time for host + guests shutdown) and waits for remaining
>> time for EPOW condition to return to normal. If EPOW condition doesn't
>> return to normal in calculated time it proceeds with graceful system
>> shutdown. For EPOW events with smaller timeouts values than
>> MAX_POWEROFF_SYS_TIME it proceeds with system shutdown without any wait
>> for EPOW condition to return to normal.
>
> Can I suggest an alternative design:
> - when we recieve a DPO event call orderly_poweroff()
> - when we recieve an EPOW event call orderly_poweroff()
>
> Thoughts?
Current design is calling orderly_poweroff immediately upon DPO event
as there is not need to wait for user initiated shutdowns.
EPOW is sent in anticipation of a poweroff needed ahead of time. A
typical example
is EPOW due to system on UPS power with 15 mins timeout. There could be case
when power is restored back within timeout and a poweroff is not needed.
In such case
HW sends EPOW reset informing that EPOW condition has returned to normal.
Another example is EPOW due to high ambient temp with 15 mins timeout.
Here too if temp goes down to manageable limits within timeout window,
HW sends EPOW reset
to avoid shutdown.
So to handle such cases current design implements wait for
HW Timeout - MAX_POWEROFF_SYS_TIME seconds before poweroff. If EPOW
condition
returns to normal within this time poweroff is cancelled. So immediate
poweroff is avoided
here to handle cases when EPOW condition returns to normal.
For EPOW cases (like system on UPS power with UPS battery low or
Ambient temp
critically high) which have timeouts lower than MAX_POWEROFF_SYS
seconds, it calls immediate
orderly_poweroff.
In concise design implements immediate orderly_poweroff for DPO as
well as EPOW cases when
timeout is less than MAX_POWEROFF_SYS_TIME while for EPOW cases with
MAX_POWEROFF_SYS_TIME
timeout it implements a wait for EPOW to return the normal.
Suggestions/thoughts ?
--Vipin
> cheers
>
>
next prev parent reply other threads:[~2015-05-11 9:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-07 9:30 [PATCH v2 0/2] Poweroff (EPOW, DPO) events support for PowerNV platform Vipin K Parashar
2015-05-07 9:30 ` [PATCH v2 1/2] powerpc/powernv: Add poweroff " Vipin K Parashar
2015-05-08 1:26 ` Joel Stanley
2015-05-11 7:01 ` Vipin K Parashar
2015-05-08 7:37 ` trigg
2015-05-11 22:31 ` Stewart Smith
[not found] ` <CAPfuKjKtSHB3Q03vGD9XDnk2yFV31mC8wdJGr3q8XYZfvSx3LA@mail.gmail.com>
2015-05-12 17:09 ` Triggering
2015-05-11 6:49 ` Michael Ellerman
2015-05-11 9:01 ` Vipin K Parashar [this message]
2015-05-11 10:47 ` Vipin K Parashar
2015-05-13 20:17 ` Vipin K Parashar
2015-05-07 9:30 ` [PATCH v2 2/2] powerpc/powernv: Extract EPOW events timeout values from OPAL device tree Vipin K Parashar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55506FEB.3010701@linux.vnet.ibm.com \
--to=vipin@linux.vnet.ibm.com \
--cc=joel@jms.id.au \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=stewart@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).