- 21 1月, 2022 1 次提交
-
-
由 zhushengle 提交于
背景: 调度、线程、软件定时器、sortlink、percpu、异常、workqueue模块相互耦合,存在很多不属于本模块的实现, 导致这几个模块间依赖混乱、且到处引用其它模块的内部成员。 方案描述: 解决上述依赖混乱的问题,为后续调度框架打基础,优化后依赖关系: | ---> los_swtmr_pri.h --> workqueue los_sortlink_pri.h: ---> los_sched_pri.h --> los_task_pri.h --> 作为基础算法 | ---> ipc (现在为双向链表), 做到功能最小化, 便于后续其它算法替换 调度框架大体方案描述: 1.cpu run queue ----> 任务延时队列 |---- 调度队列 |---- EDF ---> | |---- 方法(Delay、Suspend、Resume、EntReadyQue、Exit等) | | |---- 调度队列 2.task ---> 调度策略----> SCHED_RR ---> | |---- 方法(Delay、Suspend、Resume、EntReadyQue、Exit等) | | |---- 调度队列 |----> SCHED_IDLE ---> |---- 方法(Delay、Suspend、Resume、EntReadyQue、Exit等) Close #I4RPRW Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: Ia54dc1b8a4801a225a52e40555490c1dce0bd75e
-
- 10 11月, 2021 1 次提交
-
-
由 kenneth 提交于
修复社区反馈问题Percpu结构体注释错误,排查下其他拼写错误。 close #I4GMLH Signed-off-by: Nkenneth <zhushangyuan@huawei.com>
-
- 28 9月, 2021 1 次提交
-
-
由 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
-
- 27 9月, 2021 1 次提交
-
-
由 zff 提交于
导致死锁异常信息不正常输出 close: #I457ZZ Signed-off-by: Nzff <zhangfanfan2@huawei.com> Change-Id: Ic54ece064a4c85103b644dcbe8ed8bbdecbfc491
-
- 09 8月, 2021 1 次提交
-
-
由 zhushengle 提交于
方案描述: 1.周期软件定时器超时添加一个startTime字段,用于记录当前软件定时器的开始计时的时间, 在定时器响应时,开始时间修改为上一次响应的结束时间(消除了中断执行时间对软件定时器 的影响)。 2.在执行tick中断的过程当中,持有tick动态计算锁,保证在该过程中不会触发tick周期 的计算,在tick中断结束时统一计算设置。 --- 提升tick中断的执行效率 3.在设置tick周期时,减掉tick中断执行的时间,减小周期动态化带来的时间误差 4.新增LOSCFG_BASE_CORE_TICK_PER_SECOND_MINI配置宏,用于配置tick中断的最小响应精度 Close #I43UQJ Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: Icd1159a1890046b13602b7a18dcd6234d5c61a89
-
- 01 7月, 2021 1 次提交
-
-
由 boxi 提交于
LiteOS_a中有部分配置宏进行了重复冗余定义,导致当头文件未被包含时,极易引入错误, 故对menuconfig配置宏进行统一处理,均使用#ifdef/#ifndef作为预编译判断方式 Close #I3YEGS Change-Id: Ife6db770cc66de1d6199a4f3ba3950e9bfd0e71a Signed-off-by: Nboxi <lewis.liulei@huawei.com>
-
- 20 5月, 2021 1 次提交
-
-
由 arvinzzz 提交于
close: #I3I768 Change-Id: I4f801df4abe1a9afdf43391c28276e96a5e81513
-
- 19 4月, 2021 1 次提交
-
-
由 Caoruihong 提交于
Change-Id: I052d930d54e63179b17b77f02c107a015f3cfc3f
-
- 11 3月, 2021 1 次提交
-
-
由 mamingshuai 提交于
-
- 13 10月, 2020 1 次提交
-
-
由 Caoruihong 提交于
Change-Id: Ia6c1f6302407a707b3ec9b805f4c92d8a7970b86
-
- 08 9月, 2020 1 次提交
-
-
由 wenjun 提交于
-