[patch] Cache error recovery Similar to memory error recovery, when a cache error is consumed by a user process terminate the user instead of crashing the system. Signed-off-by: Russ Anderson (rja@xxxxxxx) --- arch/ia64/kernel/mca_drv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Index: test/arch/ia64/kernel/mca_drv.c =================================================================== --- test.orig/arch/ia64/kernel/mca_drv.c 2006-12-19 10:28:36.000000000 -0600 +++ test/arch/ia64/kernel/mca_drv.c 2006-12-19 10:33:32.393195202 -0600 @@ -602,6 +602,8 @@ recover_from_platform_error(slidx_table_ default: break; } + } else if (psp->cc && !psp->bc) { /* Cache error */ + status = recover_from_read_error(slidx, peidx, pbci, sos); } return status; @@ -688,11 +690,11 @@ recover_from_processor_error(int platfor * The cache check and bus check bits have four possible states * cc bc * 0 0 Weird record, not recovered - * 1 0 Cache error, not recovered + * 1 0 Cache error, attempt recovered * 0 1 I/O error, attempt recovery * 1 1 Memory error, attempt recovery */ - if (psp->bc == 0 || pbci == NULL) + if (psp->cc == 0 && (psp->bc == 0 || pbci == NULL)) return fatal_mca("No bus check"); /* @@ -705,8 +707,6 @@ recover_from_processor_error(int platfor */ if (pbci->ib) return fatal_mca("Internal Bus error"); - if (pbci->cc) - return fatal_mca("Cache-cache error"); if (pbci->eb && pbci->bsi > 0) return fatal_mca("External bus check fatal status"); -- Russ Anderson, OS RAS/Partitioning Project Lead SGI - Silicon Graphics Inc rja@xxxxxxx - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |