[Skiboot] [PATCH] hw/prd: Hold FSP notifications while PRD is inactive
oohall at gmail.com
Mon Mar 30 17:48:16 AEDT 2020
On Fri, Mar 20, 2020 at 7:19 PM Oliver O'Halloran <oohall at gmail.com> wrote:
> On FSP systems we rely on a service on the FSP to send us a notification
> when the OCCs become active. On systems with NVDIMMs this is especially
> critical because the OCC is responsible for starting the NVDIMM save
> procedure when power fails.
> The message sent from the FSP isn't sent to OPAL itself, rather it's
> sent to the PRD service running on the host (via OPAL). If this service
> is not running OPAL will currently send an error response back to the
> FSP and drop the message. This causes problems because the OCCs active
> message is generally sent while OPAL is still booting the system so
> the PRD daemon never gets notified that the OCC is active.
> Once the OS is running we rely on PRD to report the protection status
> of the NVDIMMs on the system. However, because it never recieves the
> notification from the FSP it will always report the DIMMs as
> un-protected because it thinks the OCCs are inactive.
> This patch fixes the issue by allowing a single message to be held in
> OPAL while PRD is inactive. Once OPAL recieves a notification that PRD
> has started we deliver the message.
> It's worth pointing out that this is kind of janky and brittle and would
> probably break horribly if FSP notify messages were multi-part since
> we could end up in a situation where only a single part of a multi-part
> message is queued, with the rest being dropped. However, the only user
> of the FSP notification message appears to be the OCC, and the OCC team
> says it's not a problem. I'll take their word for it.
> Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
Merged as d703ad5b8ea93f2bcd98ca2642dcd3c66da82c91
More information about the Skiboot