openharmony_kernel_liteos_a/kernel/base/include
zhushengle 6d8cef40c8 feat: swtmr机制与调度分离,调度只针对通用线程,不针对特殊功能
背景:
原调度机制与软件定时器实现混合,调度时间链表存在两个链表,
任务切换时需要遍历两个链表才可以获取到最终的tick响应时间。
软件定时作为一个独立的功能,不应该和调度强耦合,而且软件定时
器作为一个任务,某个软件定时器的响应时间应该是软件定时器任务的
响应时间,不应该直接做为tick中断的响应时间。

方案描述:
1.将软件定时器从调度分离,作为一个独立的机制,从调度角度看其就是一个任务
2.软件定时器从调度分离之后,其timelist遍历从tick中断移动至软件定时器任务中
3.优化软件定时器的均衡调度

优势:
1.将软件定时器与调度完全分离,使得调度功能单一化,便于后续其它调度算法的引入
2.优化tick中断,减小tick中断耗时
3.优化通过写队列唤醒软件定时器任务去执行软件定时器钩子为插队列,减少软件定时
器机制本身的耗时,提升软件定时器的实时性
4.优化软件定时器均衡调度,使得软件定时器均匀分布于多核,提升软件定时器的实时性

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I07c01f134e69c1d9b7061ddf5a231df1ee99b68e
2022-03-19 11:23:36 +08:00
..
los_base_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_binarytree_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_err_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_event_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_futex_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_ipcdebug_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_membox_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_memory_pri.h refactor: Refactored the kernel boot process and added a init framework 2021-05-20 16:45:43 +08:00
los_memstat_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_mux_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_oom.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_percpu_pri.h feat: 调度相关模块间依赖优化 2022-01-21 15:52:51 +08:00
los_printf_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_process_pri.h feat: 调度去进程化,优化进程线程依赖关系 2022-01-27 14:30:50 +08:00
los_queue_debug_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_queue_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_rwlock_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_sched_pri.h feat: swtmr机制与调度分离,调度只针对通用线程,不针对特殊功能 2022-03-19 11:23:36 +08:00
los_sem_debug_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_sem_pri.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_signal.h fix: 修复sigwait等待到的信号值与获取的siginfo中的值不一致 2021-09-10 03:21:58 +00:00
los_sortlink_pri.h feat: swtmr机制与调度分离,调度只针对通用线程,不针对特殊功能 2022-03-19 11:23:36 +08:00
los_stackinfo_pri.h fix:修复拼写错误 2022-03-14 22:22:56 +08:00
los_stat_pri.h fix: los_stat_pri.h中缺少依赖的头文件 2021-12-01 09:24:52 +08:00
los_swtmr_pri.h feat: swtmr机制与调度分离,调度只针对通用线程,不针对特殊功能 2022-03-19 11:23:36 +08:00
los_sys_pri.h fix: 修改DoNanoSleep 以纳秒为单位 2021-08-10 11:25:49 +08:00
los_task_pri.h fix:内源代码检视拼写错误修改 2022-03-14 17:34:46 +08:00
los_tick_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_typedef_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_vm_boot.h fix: smp启动代码解耦及内存映射关系解耦 2021-08-05 16:03:43 +08:00
los_vm_common.h remove __cplusplus guards in .c files 2021-04-19 18:28:25 +08:00
los_vm_dump.h feat: 优化shell 命令 2022-03-07 15:25:38 +08:00
los_vm_fault.h fix:Fixed exception not saving stack pointer of SVC mode and abnormal signal processing issues 2021-05-11 09:58:54 +08:00
los_vm_filemap.h feat: L0~L1 支持Lms 2021-11-27 11:13:41 +08:00
los_vm_iomap.h !157 删除无用的__cplusplus,移除不必要的文件x权限 2021-04-20 09:01:45 +08:00
los_vm_lock.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_vm_map.h fix: MMU竞态问题修复 2022-01-08 14:55:45 +08:00
los_vm_page.h fix: MMU竞态问题修复 2022-01-08 14:55:45 +08:00
los_vm_phys.h fix: MMU竞态问题修复 2022-01-08 14:55:45 +08:00
los_vm_shm_pri.h update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
los_vm_syscall.h refactor: Refactored the kernel boot process and added a init framework 2021-05-20 16:45:43 +08:00
los_vm_zone.h fix: Delete useless 'exc interaction' macros and function declarations. 2021-05-21 15:10:05 +08:00