diff --git "a/docs/zh/docs/kernel/RAS/UCE\345\256\271\351\224\231\347\211\271\346\200\247.md" "b/docs/zh/docs/kernel/RAS/UCE\345\256\271\351\224\231\347\211\271\346\200\247.md" new file mode 100644 index 0000000000000000000000000000000000000000..afc3e5017fbd640febdb541d8303bfd512281c97 --- /dev/null +++ "b/docs/zh/docs/kernel/RAS/UCE\345\256\271\351\224\231\347\211\271\346\200\247.md" @@ -0,0 +1,34 @@ +# 特性介绍 + +当前Linux内核对在内核态消费的UCE错误的处理方式是panic,本特性支持在如下两种场景下消费UCE不会导致内核panic: + +1、用户态进程fork 子进程,在内核态触发写时拷贝(COW)处理。 + +2、用户态进程读文件,在内核态触发读page cache。 + + + +考虑到这两种场景内存出错的影响范围仅仅是在触发UCE的用户进程本身,不会对系统带来其他危害,所以在这两种场景下用kill用户进程代替系统panic是合理的。 + + + +# 对外接口 + + + +1. cmdline参数 + + 格式:uce_kernel_recovery=xx,xx取值范围为0~3 + + + 其中:0 - 关闭特性 + + ​ 1 – 写时复制(COW)场景打开特性 + + ​ 2 - 读page cache场景打开特性 + + ​ 3 – 写时复制(COW)和读page cache场景均打开特性 + +2. proc/sys/kernel/uce_kernel_recovery,该接口可读可写,写入的范围为0~3,意义同上。 + +3. 新增CONFIG_UCE_KERNEL_RECOVERY配置项,默认打开,该配置项依赖CONFIG_ARM64_ERR_RECOV。