1. 08 10月, 2021 1 次提交
  2. 30 9月, 2021 3 次提交
  3. 29 9月, 2021 6 次提交
  4. 28 9月, 2021 5 次提交
    • L
      feat: L0-L1 支持Perf · 6e0a3f10
      LiteOS2021 提交于
          1.【需求描述】:
               L0-L1 支持Perf,提供2种模式的配置, 及3大类型的事件配置:
               2种模式:计数模式(仅统计事件发生次数)、采样模式(收集上下文如任务ID、pc、backtrace等)。
               3种事件类型:CPU硬件事件(cycle、branch、icache、dcache等)、OS软件事件(task switch、mux pend、irq等)、高精度周期事件(cpu          clock)。
          2.【方案描述】:
               L0:
               基于事件采样原理,以性能事件为基础,当事件发生时,相应的事件计数器溢出发生中断,在中断处理函数中记录事件信息,包括当前的pc、当前运         行的任务ID以及调用栈等信息。
               L1:
               新增perf字符设备,位于“dev/perf”,通过对设备节点的read\ioctl,实现用户态perf
      
          BREAKING CHANGE:
          1.新增一系列perf的对外API,位于los_perf.h中.
          LOS_PerfInit配置采样数据缓冲区
          LOS_PerfStart开启Perf采样
          LOS_PerfStop停止Perf采样
          LOS_PerfConfig配置Perf采样事件
          LOS_PerfDataRead读取采样数据
          LOS_PerfNotifyHookReg 注册采样数据缓冲区的钩子函数
          LOS_PerfFlushHookReg 注册缓冲区刷cache的钩子
      
          2. 用户态新增perf命令
        【Usage】:
      ./perf [start] /[start id] Start perf.
      ./perf [stop] Stop perf.
      ./perf [read nBytes] Read nBytes raw data from perf buffer and print out.
      ./perf [list] List events to be used in -e.
      ./perf [stat] or [record] <option> <command>
               -e, event selector. use './perf list' to list available events.
               -p, event period.
               -o, perf data output filename.
               -t, taskId filter(whiltelist), if not set perf will sample all tasks.
               -s, type of data to sample defined in PerfSampleType los_perf.h.
               -P, processId filter(whiltelist), if not set perf will sample all processes.
               -d, whether to prescaler (once every 64 counts), which only take effect on cpu cycle hardware event.
      
          Close #I47I9A
      Signed-off-by: NLiteOS2021 <dinglu@huawei.com>
      Change-Id: Ieb9b7483c85d1495df7c55bc0027f4309dff9814
      6e0a3f10
    • O
      !636 修正函数声明与定义不一致的问题 · e1b85a45
      openharmony_ci 提交于
      Merge pull request !636 from Caoruihong/fix_decl
      e1b85a45
    • Z
      fix: 中断中调用PRINTK概率卡死,导致系统不能正常响应中断 · 9726ba11
      zff 提交于
      当console层的打印缓冲buffer满且打印任务被饿死时,函数ConsoleOutput会出现在for循环中
      不退出的情况,导致中断打印时卡死
      
      close: #I4C9GC
      Signed-off-by: Nzff <zhangfanfan2@huawei.com>
      Change-Id: I70b9d7c848dce7d351c5679e7b08049df27a6f10
      9726ba11
    • O
      !584 OsLockDepCheckIn异常处理中存在g_lockdepAvailable锁嵌套调用,导致死锁异常信息不正常输出 · 0fa1310a
      openharmony_ci 提交于
      Merge pull request !584 from zhangfanfan2/master
      0fa1310a
    • S
      fix(mtd): 去除mtd对hisilicon驱动的依赖 · f7d010df
      SimonLi 提交于
      【背景】
      1. liteos-a内核drivers/mtd/multi_partition/用到了device/hisilicon下的驱动函数实
      现,这样导致三方芯片适配时,会依赖hisilicon的驱动。
      2. HDF的mtd驱动提供了这几个函数的实现,但是未暴露头文件出来。
      
      【修改方案】
      1. 修改BUILD.gn去除/device/hisilicon的依赖。
      2. 修改mtd_partition.c,将hisilicon的头文件改为hdf的头文件依赖。
      
      【遗留问题】
      liteos-a内核与HDF mtd驱动的分界线还不明确,导致依赖关系不清楚
      
      close: #I49FKL
      Signed-off-by: NSimonLi <likailong@huawei.com>
      f7d010df
  5. 27 9月, 2021 4 次提交
  6. 24 9月, 2021 5 次提交
  7. 23 9月, 2021 2 次提交
  8. 22 9月, 2021 1 次提交
  9. 18 9月, 2021 2 次提交
  10. 16 9月, 2021 2 次提交
  11. 15 9月, 2021 1 次提交
  12. 14 9月, 2021 1 次提交
  13. 13 9月, 2021 2 次提交
  14. 10 9月, 2021 2 次提交
    • O
      !619 简化make脚本 · 0326cbf1
      openharmony_ci 提交于
      Merge pull request !619 from Caoruihong/opt_make_scripts
      0326cbf1
    • L
      fix: 修复sigwait等待到的信号值与获取的siginfo中的值不一致 · c3facd1b
      lnlan 提交于
      【背景】
      集成测试发送两个不同的信号,sigwait第二次等到的仍是第一个信号
      经定位,信号在kill时会将相关的siginfo信息拷贝到taskcb的unbinfo中,sigwait
      处理时从unbinfo拷贝给用户。若此信号发送时处于屏蔽状态,再有其他信号发送会覆盖
      掉unbinfo,此时sigwait等待这个信号获取到的info已经被覆盖
      【修改方案】
      1. 每个任务添加一个siginfo缓存链表,在处理信号前夕从缓存链表取出info到unbinfo中
      
      【影响】
      对现有的产品编译不会有影响。
      
      re #I3M12H
      Signed-off-by: Nlanleinan <lanleinan@163.com>
      
      Change-Id: If4b064c18773f8eca7419c665977260167b09810
      c3facd1b
  15. 09 9月, 2021 3 次提交