• H
    fix: 修复重复执行内存用例导致系统卡死问题 · 6c2b163c
    Haryslee 提交于
    背景:重复执行内存测试用例约几百次,系统大概率出现卡死现象,经分析知,系统卡在
    内存spinlock锁中,CPU1在获取内存spinlock锁后打印异常信息,此时循环buffer满了,
    CPU0此时进入异常且尝试拿取内存spinlock锁,两个核都处于锁中断锁任务状态,CPU1
    写事件触发调度打印输出失败,进而在write接口中死循环无法退出,导致两个核都卡住。
    方案:在write接口中增加一个判断条件:当前核处于锁任务状态且循环buffer满了时候,
    直接退出循环,丢弃打印信息(持有spinlock锁后一般禁止输出打印信息)。
    
    close #I4F7PO
    Signed-off-by: NHaryslee <lihao189@huawei.com>
    Change-Id: I3f49a1bb211821e9c5d1d220d6867962d6a45a79
    6c2b163c
los_printf.c 7.8 KB