1. 什么是内核优先
RAS错误上报整体方案有两个:固件优先和内核优先。
固件优先:所有错误先报到固件, 固件处理做第一手处理,然后再报给OS或者带外。
内核优先:所有错误先报给内核。
方案 | 优点 | 缺点 |
---|---|---|
固件优先 | 可以上报到带外,方便错误统一搜集,更容易规避硬件的缺陷,更安全 | 1)一般的错误恢复在固件做不了,需要再报给OS,增加了上报的通道,且该通道很容易成为瓶颈; 2) 固件不支持多任务,只能一个主核来处理,对主核依赖比较重。 |
内核优先 | 可以多核处理,且能快速分配给对应驱动做故障恢复。 | 错误搜集只能在带内做,不能报给带外。 |
ARM64的内核优先方案还不成熟,方案还不完整,arm的人正在推。
2. ACPI for the Armv8 RAS Extensions 1.0
ARM定义的一个规范,做为支持kernel first的开始,后面要把它推到ACPI规范,并围绕这个规范,在linux内核做
想关的支持。
https://static.docs.arm.com/den0085/a/DEN0085_RAS_ACPI_1.0_BETA_1.pdf
已经推了个RFC的patchset在linux内核做支持:
[PATCH RFC 0/4