[Skiboot] [RFC PATCH] IPMI: Enable synchronous eSEL logging option
Vasant Hegde
hegdevasant at linux.vnet.ibm.com
Wed Oct 14 19:45:17 AEDT 2015
On 08/10/2015 03:52 PM, Vasant Hegde wrote:
> Presently we use queue method (ipmi_queue_msg) to send eSEL logs
> to BMC.
>
> There are cases like assert() where we want to commit messages
> synchronously. This patch checks for log severity and logs PANIC
> messages synchronously to BMC (Similar to what we do in FSP based
> system).
>
> Note:
> Presently we rely on event severity to decided the logging path.
> With this we should create log with severity PANIC to push events
> via synchrous path.
>
> Alternatively we can pass boolean variable to log_commit(). (like
> below). This approach allows users to decide on the logging path.
>
> int ipmi_elog_commit(struct errorlog *elog_buf, bool sync);
> struct platform {
> ....
> int (*elog_commit)(struct errorlog *buf, bool sync);
> ....
> };
>
> Let me know which is the best approach here.
>
> -Vasant
>
> Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
> ---
> Stewart,
> I've observed "reservation getting lost" issue [1] with synchronous path.
> Hence please *don't* merge this patch.
>
> [1] https://github.com/open-power/tyan-openpower/issues/284
Stewart,
This issue is fixed in latest skiboot.. I guess Alistair's bt timeout patch
helped here..
Can you please take a look of this patch?
-Vasant
>
> -Vasant
>
> hw/ipmi/ipmi-sel.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/hw/ipmi/ipmi-sel.c b/hw/ipmi/ipmi-sel.c
> index 2bf3d03..f817e4a 100644
> --- a/hw/ipmi/ipmi-sel.c
> +++ b/hw/ipmi/ipmi-sel.c
> @@ -370,7 +370,11 @@ int ipmi_elog_commit(struct errorlog *elog_buf)
> msg->error = ipmi_elog_error;
>
> msg->req_size = 0;
> - ipmi_queue_msg(msg);
> +
> + if (elog_buf->event_severity == OPAL_ERROR_PANIC)
> + ipmi_queue_msg_sync(msg);
> + else
> + ipmi_queue_msg(msg);
>
> return 0;
> }
>
More information about the Skiboot
mailing list