我们有一个系统和一个外部底板管理控制器(BMC)来监控此系统。当系统中发生严重错误时,应记录该错误并将其发送到外部BMC。将错误消息发送到BMC的过程可能需要很长时间,因为我们需要编写日志条目,通过I2C总线发送事件。错误是在中断处理程序内部捕获的,这需要以非常短的时间和非阻塞的方式处理事件。另一方面,如果错误是不可恢复的,系统可能会立即重新启动。
你能推荐一个好的方法来处理中断处理程序中的错误报告吗,或者这个过程有什么标准的方法吗?如有任何建议,欢迎光临。在进阶时谢谢。
发布于 2013-05-16 17:15:14
没有好的办法。
如果您的BMC通信处于休眠状态,则不能从interupt处理程序内部执行这些操作,必须将它们移动到工作队列中。
如果系统在中断处理程序之后立即重新启动,则无法与BMC通信。
如果您的中断处理程序实际上知道系统将重新启动,那么您可以更改I²C驱动程序,添加一些方法,通过忙轮询而不是休眠的方式从中断处理程序内部发送数据。
https://stackoverflow.com/questions/16578606
复制相似问题