kernel_liteos_a/kernel/common
Haryslee 6c2b163c7d fix: 修复重复执行内存用例导致系统卡死问题
背景:重复执行内存测试用例约几百次,系统大概率出现卡死现象,经分析知,系统卡在
内存spinlock锁中,CPU1在获取内存spinlock锁后打印异常信息,此时循环buffer满了,
CPU0此时进入异常且尝试拿取内存spinlock锁,两个核都处于锁中断锁任务状态,CPU1
写事件触发调度打印输出失败,进而在write接口中死循环无法退出,导致两个核都卡住。
方案:在write接口中增加一个判断条件:当前核处于锁任务状态且循环buffer满了时候,
直接退出循环,丢弃打印信息(持有spinlock锁后一般禁止输出打印信息)。

close #I4F7PO

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: I3f49a1bb211821e9c5d1d220d6867962d6a45a79
2021-12-29 14:27:43 +08:00
..
BUILD.gn refactor: 内核目录结构整理 2021-09-08 16:36:28 +08:00
Makefile refactor: 清理Makefile冗余项 2021-09-13 18:14:15 +08:00
console.c !730 【轻量级PR】 console.c 分支优化 2021-12-16 04:26:19 +00:00
console.h 修复Ctrl+C会终止所有进程的问题 2021-11-04 12:23:20 +08:00
los_config.c fix: fix some function declarations 2021-09-27 21:01:46 +08:00
los_config.h chore: 修复社区反馈问题Percpu结构体注释错误 2021-11-10 10:20:33 +08:00
los_excinfo.c fix: 临终遗言重定向内容缺失task相关信息,对应的shell命令中申请的内存需要cacheline对齐 2021-09-29 16:26:31 +08:00
los_excinfo_pri.h refactor: 内核目录结构整理 2021-09-08 16:36:28 +08:00
los_init.c refactor: 内核目录结构整理 2021-09-08 16:36:28 +08:00
los_init_info.h refactor: 内核目录结构整理 2021-09-08 16:36:28 +08:00
los_init_pri.h refactor: 内核目录结构整理 2021-09-08 16:36:28 +08:00
los_magickey.c fix: LOS_Panic和魔法键功能中的使用PRINTK打印,依赖任务调度,特殊情况下存在打印不出来的问题 2021-12-22 17:02:58 +08:00
los_magickey.h 修复Ctrl+C会终止所有进程的问题 2021-11-04 12:23:20 +08:00
los_printf.c fix: 修复重复执行内存用例导致系统卡死问题 2021-12-29 14:27:43 +08:00
main.c refactor: 内核目录结构整理 2021-09-08 16:36:28 +08:00
virtual_serial.c refactor: 内核目录结构整理 2021-09-08 16:36:28 +08:00
virtual_serial.h refactor: 内核目录结构整理 2021-09-08 16:36:28 +08:00