1. 10 1月, 2022 2 次提交
  2. 08 1月, 2022 1 次提交
    • H
      fix: MMU竞态问题修复 · 748e0d8f
      Haryslee 提交于
      背景:同一个进程的多个线程读写同一个PTE时,由于PTE无保护,存在竞态问题。
      方案:新增spinlock保护PTE,包括大锁跟小锁。大锁:一个进程只有一个spinlock锁,多个线程
      读写PTE时竞争一把锁,锁的内存占用小,但系统性能降低;小锁:每个页表持有一把spinlock,
      由于锁是page结构体的一个字段,内存消耗较大,但是相对大锁性能较优。系统默认使用大锁,用
      户可根据具体需要配置使用大锁还是小锁。
      
      close #I2WARC
      Signed-off-by: NHaryslee <lihao189@huawei.com>
      Change-Id: I5612eeac1f65507160035eae16af61f285182eda
      748e0d8f
  3. 07 1月, 2022 3 次提交
  4. 05 1月, 2022 1 次提交
  5. 30 12月, 2021 1 次提交
  6. 29 12月, 2021 1 次提交
    • 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
  7. 25 12月, 2021 1 次提交
  8. 24 12月, 2021 3 次提交
  9. 23 12月, 2021 2 次提交
  10. 22 12月, 2021 1 次提交
  11. 18 12月, 2021 1 次提交
  12. 17 12月, 2021 1 次提交
  13. 16 12月, 2021 1 次提交
  14. 15 12月, 2021 3 次提交
  15. 14 12月, 2021 3 次提交
  16. 13 12月, 2021 2 次提交
  17. 11 12月, 2021 1 次提交
  18. 08 12月, 2021 4 次提交
  19. 06 12月, 2021 1 次提交
    • Yansira's avatar
      fix: 解决dmesg -s参数double lock问题 · e1512566
      Yansira 提交于
      【背景】自研shell或者mksh拉起后使用dmesg -s命令出现自旋锁double lock的问题。
      
      【修改方案】
      dmesg -s参数设置dmesg缓冲区过程需要访问UartOutput所访问的全局缓冲区,这意味着两个功能模块
      使用了同一把自旋锁,若在dmesg命令执行过程使用了打印,则就可能会导致double lock。因此拆分
      了dmesg -s命令过程中自旋锁的使用区域,避开内核中必要的打印。
      
      re #I4HIJK
      Signed-off-by: Yansira's avataryansira <yansira@hotmail.com>
      Change-Id: Iad74c058c9a8090fd3d9f338caab7d8f2170f9ac
      e1512566
  20. 05 12月, 2021 1 次提交
  21. 03 12月, 2021 6 次提交