0

我们有一个系统和一个外部基板管理控制器 (BMC) 来监控这个系统。当系统发生严重错误时,应记录错误并将其发送到外部 BMC。将错误消息发送到 BMC 的过程可能需要很长时间,因为我们需要编写日志条目,通过 I2C 总线将事件发送出去。错误是在中断处理程序中捕获的,该处理程序需要以非常短的时间和非阻塞方式处理事件。另一方面,如果错误是不可恢复的,系统可能会立即重新启动。

您能否推荐一种处理中断处理程序内部错误报告的好方法,或者这个过程有什么标准方法吗?任何建议表示赞赏。先谢谢了。

4

1 回答 1

0

没有什么好办法。

如果您的 BMC 通信休眠,您无法从中断处理程序内部执行它们,并且必须将它们移动到工作队列。

如果您的系统在中断处理程序后立即重新启动,您将无法与 BMC 通信。

如果您的中断处理程序确实知道系统将重新启动,那么您可以更改 I²C 驱动程序以添加一些方法来从中断处理程序内部发送数据,通过忙轮询而不是休眠。

于 2013-05-16T09:15:13.993 回答