- 21 3月, 2022 1 次提交
-
-
由 zhushengle 提交于
Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: Idddb6f081546d880560d075395079d95e4112599
-
- 19 3月, 2022 1 次提交
-
-
由 zhushengle 提交于
背景: 原调度机制与软件定时器实现混合,调度时间链表存在两个链表, 任务切换时需要遍历两个链表才可以获取到最终的tick响应时间。 软件定时作为一个独立的功能,不应该和调度强耦合,而且软件定时 器作为一个任务,某个软件定时器的响应时间应该是软件定时器任务的 响应时间,不应该直接做为tick中断的响应时间。 方案描述: 1.将软件定时器从调度分离,作为一个独立的机制,从调度角度看其就是一个任务 2.软件定时器从调度分离之后,其timelist遍历从tick中断移动至软件定时器任务中 3.优化软件定时器的均衡调度 优势: 1.将软件定时器与调度完全分离,使得调度功能单一化,便于后续其它调度算法的引入 2.优化tick中断,减小tick中断耗时 3.优化通过写队列唤醒软件定时器任务去执行软件定时器钩子为插队列,减少软件定时 器机制本身的耗时,提升软件定时器的实时性 4.优化软件定时器均衡调度,使得软件定时器均匀分布于多核,提升软件定时器的实时性 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I07c01f134e69c1d9b7061ddf5a231df1ee99b68e
-
- 08 3月, 2022 1 次提交
-
-
由 wangchen 提交于
【修改方案】 1,按检视意见,进行资源泄露等问题的修改 【影响】 对现有的产品编译不会有影响。 re #I4WV56 Signed-off-by: Nwangchen <wangchen64@huawei.com>
-
- 27 1月, 2022 1 次提交
-
-
由 zhushengle 提交于
1.移动LosTaskCB 至los_sched_pri.h, 解决调度与task的依赖关系 2.调度去进程化 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: Ibd3b618cee59f0b323e2b4fb14354c088b60b733
-
- 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
-
- 18 1月, 2022 1 次提交
-
-
由 zhushengle 提交于
1.tick timer与调度进一步剥离 2.性能敏感函数内敛化 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: Icf62f002fa57d452cdd23a4c7b5e6610e2785f8e
-
- 29 11月, 2021 1 次提交
-
-
由 zhushengle 提交于
方案描述: 和L0保持一致,上层通过proc文件系统操作: power_mode 支持的低功耗模式,通过对该文件进行write操作可以设置低功耗模式 power_count powermanager模块通过对该文件操作,和内核进行交互,简要流程如下: while (1) { open // 打开该文件 read // 使powermanager低功耗任务常阻塞,当系统无任何模块持锁时,会唤醒该任务 write // 进行低功耗流程 close // 关闭该文件 } power_lock write该文件,持锁 power_unlock writw该文件,释放锁 Close #I4JSO Change-Id: I73fcdeeb5e2039484b3351a81b46a0892b349fe9 Signed-off-by: Nzhushengle <zhushengle@huawei.com>
-
- 02 11月, 2021 1 次提交
-
-
由 kenneth 提交于
变量readTasks应该为readyTasks;函数OsSchedTaskSwicth应该为OsSchedTaskSwitch;其他拼写错误。 close #I4GFJ7 Signed-off-by: Nkenneth <zhushangyuan@huawei.com>
-
- 29 10月, 2021 1 次提交
-
-
由 zhushengle 提交于
LosTaskCB 中 字段waitFlag 用于专门记录任务被阻塞的原因,与ipcStatus 功能重复 Close #I4FVHK Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: Ie0998b987ba6e1db050596dec3b359e73ca47686
-
- 31 8月, 2021 1 次提交
-
-
由 LiteOS2021 提交于
1.【需求描述】 L0~L1 支持Trace,提供两种工作模式:在线模式、离线缓存模式, 用于按时间线追踪系统事件,如任务切换、中断、ipc等。 2.【方案描述】 L0: (1).在内核模块预置静态代码桩 (2).触发桩后,收集系统上下文信息 (3).离线模式则写入内存,用户可通过dump导出; (4).在线模式通过pipeline对接IDE进行可视化解析和展示; L1: 新增trace字符设备,位于"/dev/trace",通过对设备节点的read\write\ioctl,实现用户态trace; BREAKING CHANGE: 1.新增一系列trace的对外API,位于los_trace.h中. LOS_TRACE_EASY简易插桩 LOS_TRACE标准插桩 LOS_TraceInit配置Trace缓冲区的地址和大小 LOS_TraceStart开启事件记录 LOS_TraceStop停止事件记录 LOS_TraceRecordDump输出Trace缓冲区数据 LOS_TraceRecordGet获取Trace缓冲区的首地址 LOS_TraceReset清除Trace缓冲区中的事件 LOS_TraceEventMaskSet设置事件掩码,仅记录某些模块的事件 LOS_TraceHwiFilterHookReg注册过滤特定中断号事件的钩子函数 Close #I46WA0 Signed-off-by: NLiteOS2021 <dinglu@huawei.com> Change-Id: I6a8e64794c4852f2c2980993a06180e09ec6ee0d
-
- 14 8月, 2021 1 次提交
-
-
由 zhushengle 提交于
初始化调度时间不以g_sysSchedStartTime是否为0为界限,而以g_sysSchedStartTime是否为64位最大值 为界限,避免特殊以下场景:调度开启时系统时间为0,导致初始化的g_sysSchedStartTime还是0,导致 调度启动后获取的调度时间轴始终为0. Close #I45HP5 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I5272c79f06b53361ee7b931081d3a3276db59073
-
- 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
-
- 06 8月, 2021 1 次提交
-
-
由 zhushengle 提交于
Close #I446CX Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I49e80ffe1a7b579b82aaf45f599623b287eb8e98
-
- 01 7月, 2021 1 次提交
-
-
由 boxi 提交于
LiteOS_a中有部分配置宏进行了重复冗余定义,导致当头文件未被包含时,极易引入错误, 故对menuconfig配置宏进行统一处理,均使用#ifdef/#ifndef作为预编译判断方式 Close #I3YEGS Change-Id: Ife6db770cc66de1d6199a4f3ba3950e9bfd0e71a Signed-off-by: Nboxi <lewis.liulei@huawei.com>
-
- 18 5月, 2021 1 次提交
-
-
由 zhushy_ 提交于
correct function name OsSchedSetIdleTaskSchedParam close https://gitee.com/openharmony/kernel_liteos_a/issues/I3RQ6J
-
- 19 4月, 2021 1 次提交
-
-
由 Caoruihong 提交于
Change-Id: I052d930d54e63179b17b77f02c107a015f3cfc3f
-
- 31 3月, 2021 2 次提交
-
-
由 YOUR_NAME 提交于
Description:Delete VM to support only kernel mode. Sig:liteos_a Feature or Bugfix:Feature Binary Source:No Change-Id: Ie1029c8fbc0c1b85c138663933118d2d148b7769
-
由 星e雨 提交于
Description:Scheduling module has signed number and unsigned number comparison. Sig:kernel Feature or Bugfix:Bugfix Binary Source:No Change-Id: Ie6385e5ab779b6b542282198b38c966871b03c8e
-
- 11 3月, 2021 1 次提交
-
-
由 mamingshuai 提交于
-
- 13 10月, 2020 1 次提交
-
-
由 Caoruihong 提交于
Change-Id: Ia6c1f6302407a707b3ec9b805f4c92d8a7970b86
-
- 08 9月, 2020 1 次提交
-
-
由 wenjun 提交于
-