- 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
-
- 14 3月, 2022 2 次提交
-
-
由 x_xiny 提交于
Signed-off-by: Nx_xiny <1301913191@qq.com> Change-Id: I1cc4897e5d37dd98696221f0cc70220cef45e7d4
-
由 x_xiny 提交于
【背景】3.1代码review问题修改 【修改方案】 根据检视意见对拼写错误进行修改 Signed-off-by: Nxuiny <xuxinyu6@huawei.com> Change-Id: I9fb982a8ba2052fa4d56e91eec33c96ab4035a90
-
- 10 3月, 2022 1 次提交
-
-
由 x_xiny 提交于
【背景】3.1代码review问题修改 【修改方案】 根据检视意见对安全函数,版权等信息进行修改 re #I4WV56 Signed-off-by: Nxuiny <xuxinyu6@huawei.com> Change-Id: Ia2a6ba828700006f6bfe810714e2cd88fc2ccddc
-
- 09 3月, 2022 1 次提交
-
-
由 yinjiaming 提交于
【背景】 3.1 代码检视过程中有一些问题需要修复 【修改方案】 修改了失效的文档链接,更改了一些非可执行文件的权限 【影响】 对现有的产品编译不会有影响。 Signed-off-by: Nyinjiaming <yinjiaming@huawei.com> Change-Id: If87ac9a3e17ba679f4712552f5a89cc13349287e
-
- 07 3月, 2022 1 次提交
-
-
由 zhushengle 提交于
1.优化task 命令关中断时间较长的问题 2.优化hwi 命令,可以查看不同核的中断分布情况 3.丰富hiw 命令,统计每个中断在一定时间内的平均执行时间和最大执行时间 4.丰富swtmr 命令,在debug模式下支持查看各软件定时器的运行情况, 默认关闭 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I01cfe50c918da51f9de5b460e9eb91a863e1de36
-
- 03 3月, 2022 1 次提交
-
-
由 yinjiaming 提交于
【背景】 主干告警清理 【修改方案】 在需要的地方添加了强制类型转换 【影响】 对现有的产品编译不会有影响。 Signed-off-by: Nyinjiaming <yinjiaming@huawei.com> Change-Id: Id6693137310d8c2e63f4e5489564d7c01c016a18
-
- 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
-
- 20 1月, 2022 1 次提交
-
-
由 Hongjin Li 提交于
1、添加HPM包描述文件bundle.json 2、依赖的三方开源软件,由直接引用路径,改为import对应的gni文件,引用变量 Signed-off-by: NHongjin Li <lihongjin1@huawei.com> Change-Id: Ice783c19a477626d422a37faf3d420c4965f8ea6
-
- 08 1月, 2022 1 次提交
-
-
由 Haryslee 提交于
背景:同一个进程的多个线程读写同一个PTE时,由于PTE无保护,存在竞态问题。 方案:新增spinlock保护PTE,包括大锁跟小锁。大锁:一个进程只有一个spinlock锁,多个线程 读写PTE时竞争一把锁,锁的内存占用小,但系统性能降低;小锁:每个页表持有一把spinlock, 由于锁是page结构体的一个字段,内存消耗较大,但是相对大锁性能较优。系统默认使用大锁,用 户可根据具体需要配置使用大锁还是小锁。 close #I2WARC Signed-off-by: NHaryslee <lihao189@huawei.com> Change-Id: I5612eeac1f65507160035eae16af61f285182eda
-
- 07 1月, 2022 2 次提交
-
-
由 x-xiny 提交于
【背景】 Codex扫描告警清除 【修改方案】 将不可屏蔽告警进行修复 re #I4PNO3 Signed-off-by: Nxuiny <xuxinyu6@huawei.com> Change-Id: If6f85eb9679d47e6256f24cdc74246df78da579d
-
由 shenchenkai 提交于
Signed-off-by: Nshenchenkai <shenchenkai@huawei.com>
-
- 17 12月, 2021 1 次提交
-
-
由 shenchenkai 提交于
Change-Id: I5d23deaada5939bbb6fb57505f72c2348bd6afe9 Signed-off-by: Nshenchenkai <shenchenkai@huawei.com>
-
- 30 11月, 2021 1 次提交
-
-
由 zhushengle 提交于
添加系统在不同低功耗下的默认处理函数。 Close #I4KBG9 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I7d9a32d03daf32998f4cfca17c57b3f0e614d4ac
-
- 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>
-
- 27 11月, 2021 1 次提交
-
-
由 LiteOS2021 提交于
1.【需求描述】: 支持内核态和用户态堆内存非法访问检测,包括:越界访问、double free、释放后使用;支持libc常用高频函数内存检测;支持安全函数内存检测;读写检测可配可裁剪。 2.【方案描述】: L0 ~ L1: (1).影子内存映射与标记 (2).编译器使能-fsanitize=kernel-address 自动插桩检测点 (3).实时校验影子内存的合法性; (4).错误访问打印回溯栈 BREAKING CHANGE: 新增支持API: LOS_LmsCheckPoolAdd使能检测指定内存池 LOS_LmsCheckPoolDel不检测指定内存池 LOS_LmsAddrProtect为指定内存段上锁,不允许访问 LOS_LmsAddrDisableProtect去能指定内存段的访问保护 Close #I4HYAV Signed-off-by: NLiteOS2021 <dinglu@huawei.com> Change-Id: Id8e5c890656da9edc4a22227e6a3c32205c024ce
-
- 16 11月, 2021 1 次提交
-
-
由 Caoruihong 提交于
Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I40e31e82c33418019c1afc16ac174919e72fbb07
-
- 15 11月, 2021 1 次提交
-
-
由 lnlan 提交于
【背景】A核代码静态告警定期清理 【修改方案】 1,根据codex等工具分析结果,进行必要的规范等问题修改 【影响】 对现有的产品编译不会有影响。 re #I4I0O8 Signed-off-by: Nwangchen <253227059@qq.com>
-
- 10 11月, 2021 1 次提交
-
-
由 kenneth 提交于
修复社区反馈问题Percpu结构体注释错误,排查下其他拼写错误。 close #I4GMLH Signed-off-by: Nkenneth <zhushangyuan@huawei.com>
-
- 06 11月, 2021 1 次提交
-
-
由 Caoruihong 提交于
Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: Ifd3bf13f53a27e0a0bbd051cf35662e7409e6ed0
-
- 04 11月, 2021 1 次提交
-
-
由 YOUR_NAME 提交于
Signed-off-by: NYOUR_NAME <mashuang9@huawei.com>
-
- 02 11月, 2021 2 次提交
-
-
由 zhushengle 提交于
Close #I4GLNT Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I7f3dd61bbf014fa157b1f9a0a089fd985fe188c2
-
由 zhushengle 提交于
Close #I4G4HP Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I259c792365d9747f391c5bd275e77f04b83e0792
-
- 29 10月, 2021 1 次提交
-
-
由 zhushengle 提交于
LosTaskCB 中 字段waitFlag 用于专门记录任务被阻塞的原因,与ipcStatus 功能重复 Close #I4FVHK Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: Ie0998b987ba6e1db050596dec3b359e73ca47686
-
- 28 10月, 2021 1 次提交
-
-
由 zhushengle 提交于
Close #I4FSA7 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I8b24a1e1554b4b867a841bc1b6765cbfd648cdbd
-
- 22 10月, 2021 1 次提交
-
-
由 shenchenkai 提交于
Change-Id: I9310fe807ec95721be78deb60ed9728ef9b56e48 Signed-off-by: Nshenchenkai <shenchenkai@huawei.com>
-
- 14 10月, 2021 1 次提交
-
-
由 LiteOS2021 提交于
close #I4DQ1X Signed-off-by: NLiteOS2021 <dinglu@huawei.com> Change-Id: I79b416720f5327749a5884a65a5e61db07f2a17c
-
- 11 10月, 2021 1 次提交
-
-
由 Haryslee 提交于
方案:硬随机不可用时,默认使用软随机数代替硬随机数 close #I4D4TK Signed-off-by: NHaryslee <lihao189@huawei.com> Change-Id: Ia7d2a9583257d7b8041b8994a70a7c36149c33fb
-
- 30 9月, 2021 2 次提交
-
-
由 Leon Chan 提交于
TEE需要借用TCB中的execFile来校验打开的文件,pagecache修改后,可执行程序在mmap之后,会被立即关闭,因此将execFile改为execVnode close: #I4CLL9 Signed-off-by: NLeon Chan <chenwei26@huawei.com>
-
由 Haryslee 提交于
背景:不开地址随机化时,用户态栈CANARY值是固定值 方案:支持AT_RANDOM,CANARY从AT_RANDOM获取随机值以增强用户态栈保护能力 close #I4CB8M Signed-off-by: NHaryslee <lihao189@huawei.com> Change-Id: I28cef09f7016a5096e2096d4f6aa72722fcf1fd7
-
- 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 次提交
-
-
由 Far 提交于
Close #I4BL3S Signed-off-by: NFar <yesiyuan2@huawei.com>
-
- 18 9月, 2021 1 次提交
-
-
由 Leon Chan 提交于
close: #I4ATQX Signed-off-by: NLeon Chan <chenwei26@huawei.com>
-
- 14 9月, 2021 1 次提交
-
-
由 Leon Chan 提交于
1, change the owner of page to vnode 2, save the file path in vnode close: #I44TBS Signed-off-by: NLeon Chan <chenwei26@huawei.com>
-
- 13 9月, 2021 1 次提交
-
-
由 arvinzzz 提交于
清理Makefile冗余项,各模块Makefile里不需要再次引用公共路径,只需引用私有头文件路径 close: #I49MOO Signed-off-by: Narvinzzz <zhaotianyu9@huawei.com> Change-Id: I2dd7189c866498896461f78bfed5444ae1d86876
-
- 08 9月, 2021 1 次提交
-
-
由 arvinzzz 提交于
1. 原kernel/common目录下属于内核拓展组件,统一移入kernel/extend管理 2. Kconfig分层,各模块自己的配置放到自己目录下管理 3. 原platform下不属于平台的公共代码抽到kernel/common下,只留板级链接脚本和一些编译脚本指向device目录下触发平台相关的编译 4. 对外公共头文件统一抽到对外include路径 5. 废弃宏,头文件清理 close: #I48KI4 Signed-off-by: Narvinzzz <zhaotianyu9@huawei.com> Change-Id: I0cf5ea81c92a8fa7b113da9cbdc8b7bc935f5aae
-
- 07 9月, 2021 1 次提交
-
-
由 Guangyao Ma 提交于
本次提交修复内核加载器,异常情况分支的一个bug:mksh通过exec命令(mksh内置命令 ,正常情况下,该命令成功执行会复用mksh进程空间,拉起新的指定进程)。但是如果 进程没有成功加载的情况下,内核加载器的异常分支会错误释放mksh的fd句柄。最终导致 下次拉起其他进程时(fork + exec方式),新的进程会继承fd,映射了早就释放的sysfd ,此时的sysfd可能已经被复用,issue场景下这个sysfd被加载过程中打开的libc.so占用 ,exec时会释放procfd->sysfd(错误的映射关系),最终新进程libc.so被关闭。 导致内核崩溃。 close #I452Z7 Signed-off-by: NGuangyao Ma <guangyao.ma@outlook.com> Change-Id: Ifca809f88b5ffcfb879dc5520d1f6adf5cf92bcd
-
- 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
-
- 30 8月, 2021 1 次提交
-
-
由 Caoruihong 提交于
Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: Ibb4223ef2d032a03950263b766414ca1c021e69a
-