- 21 3月, 2022 1 次提交
-
-
由 zhushengle 提交于
1.拼写错误 2.未使用的参数使用void 3.删除lint相关注释 4.函数返回值处理 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I155d786172d62f47d940b32b0a1b36406d3c047f
-
- 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
-
- 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
-
- 23 12月, 2021 1 次提交
-
-
由 Haryslee 提交于
用例异常时出现Domain fault或者unknown fault,经分析发现是TLB缓存一致性问题, 在缺页异常入口,对上述两种异常类型做异常地址TLB缓存清理即可。 close #I3ZJ1D Signed-off-by: NHaryslee <lihao189@huawei.com> Change-Id: Ib84e3e87047fcac392b83a4cf6cca0d91754e66f
-
- 22 12月, 2021 1 次提交
-
-
由 zff 提交于
close: #I4NOC7 Signed-off-by: Nzff <zhangfanfan2@huawei.com> Change-Id: I7f28e79293d3388e2b1d7208c2b8ff8ff133528a
-
- 03 12月, 2021 1 次提交
-
-
由 kenneth 提交于
修改los_arch_mmu.c中的page_idx 为scanIndex,修改pmm_alloc_page为LOS_PhysPageAlloc。 fix #I4KMMJ Signed-off-by: Nkenneth <zhushangyuan@huawei.com>
-
- 30 11月, 2021 1 次提交
-
-
由 zff 提交于
接口OsTaskExitGroup被同一个进程的两个互等线程重入,逻辑出现死循环,导致系统卡死 close: #I4KGBT Signed-off-by: Nzff <zhangfanfan2@huawei.com> Change-Id: I484bba67473f7d0edbfdff95549ffb32bffb4988
-
- 15 11月, 2021 1 次提交
-
-
由 lnlan 提交于
【背景】A核代码静态告警定期清理 【修改方案】 1,根据codex等工具分析结果,进行必要的规范等问题修改 【影响】 对现有的产品编译不会有影响。 re #I4I0O8 Signed-off-by: Nwangchen <253227059@qq.com>
-
- 10 11月, 2021 2 次提交
-
-
由 arvinzzz 提交于
close: #I4F8A5 Signed-off-by: Narvinzzz <zhaotianyu9@huawei.com> Change-Id: I9a863d3265fd18051d8bfcaab51ad59216630e91
-
由 kenneth 提交于
修复社区反馈问题Percpu结构体注释错误,排查下其他拼写错误。 close #I4GMLH Signed-off-by: Nkenneth <zhushangyuan@huawei.com>
-
- 02 11月, 2021 1 次提交
-
-
由 kenneth 提交于
layes修正为layers,alreay修正为already,Continous修正为Continuous等等 close #I4GHLR Signed-off-by: Nkenneth <zhushangyuan@huawei.com>
-
- 29 9月, 2021 1 次提交
-
-
由 zhushengle 提交于
1.内核打印的地方支持异常时重定向打印信息 2.excinfo 命令中申请的内存64对齐 Close #I482S5 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I4e8a971cc5b14f62d573bb160682089d9d50e64e
-
- 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
-
- 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
-
- 09 9月, 2021 1 次提交
-
-
由 Caoruihong 提交于
remove redundant script codes Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I67695a69cccefc220ede55add9372bce0c59d7f5
-
- 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
-
- 01 9月, 2021 1 次提交
-
-
由 Caoruihong 提交于
$(DEVICE_PATH)/drivers/Kconfig is mandatory now. Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: Ie9484229e2dc6e6babe0cf2daf8e4f6693163052
-
- 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
-
- 23 8月, 2021 1 次提交
-
-
由 Caoruihong 提交于
Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I2e61b7ea231be78423dc10412e0ab9a710cad8ef
-
- 17 8月, 2021 1 次提交
-
-
由 Caoruihong 提交于
remove some unused Makefile code and optimize some code Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I1c31d07481bb6aee47b0c51d63d6b68316c38c88
-
- 06 8月, 2021 1 次提交
-
-
由 Caoruihong 提交于
the name of the default group is the same with the directory name. Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I3d889a361534adc44e3b1bedfec13efe8e1babf2
-
- 05 8月, 2021 1 次提交
-
-
由 JerryH 提交于
close #I41P8Y Signed-off-by: NJerryH <huangjieliang@huawei.com> Change-Id: I01833cf617bbc695543a865dbb994c6c22d4a0a8
-
- 21 7月, 2021 1 次提交
-
-
由 Caoruihong 提交于
add BUILD.gn for all kernel modules Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I018446427bf64615f2596d47862b219659b58b34
-
- 20 7月, 2021 1 次提交
-
-
由 YOUR_NAME 提交于
问题原因:init进程执行信号时,线程栈底预留了部分空间给信号上下文使用, 从而导致处理信号时线程栈底比线程控制块里面记录的大,这样在fork的过程中内核 从init线程栈底copy线程上下文给新进程时,copy的不是实际运行的栈底,以致于 新进程的线程上下文不对,在实际运行时跑飞,引发系统卡死。 解决方案:在fork过程copy线程上下文时,判断是否预留了信号上下文空间,如果预留 了,则copy的栈底要基于预留后的栈底去copy线程上下文。 close: #I41HOY Signed-off-by: Nzff <zhangfanfan2@huawei.com> Change-Id: I61cb05183c78919730e3a68c1c85b72fa1decd16
-
- 15 7月, 2021 1 次提交
-
-
由 Haryslee 提交于
背景:内核态内存调测调用栈信息在gcc编译环境下是准确的,但是llvm 编译环境下是错误的,分析知,gcc和llvm编译环境下fp和lr的对应关系 是有区别的。 修复:增加llvm编译环境下对lr解析的逻辑,并用编译宏控制。 close #I40TQS Signed-off-by: NHaryslee <lihao189@huawei.com> Change-Id: If2a7b7a286d91e78dcff2bdeb136fda71e656a79
-
- 14 7月, 2021 1 次提交
-
-
由 qidechun 提交于
1、在内核增加BlackBox核心框架,对外提供模块回调接口注册和故障处理接口。 2、增加默认的系统模块适配层,处理通用内核态和用户态故障日志抓取和保存。 3、BBOX特性默认关闭,若想使用此特性,请在内核配置文件中增加如下编译选项: LOSCFG_BLACKBOX=y LOSCFG_SAVE_EXCINFO=y LOSCFG_SAVE_EXCINFO可以帮助抓取更多的故障日志。 4、若已经打开BBOX特性,想快速验证此特性,请添加如下编译选项: LOSCFG_HIDUMPER=y Close #I406NP Signed-off-by: Nqidechun <qidechun@huawei.com>
-
- 08 7月, 2021 1 次提交
-
-
由 x_xiny 提交于
【背景】 消除编译告警 【修改方案】 消除编译告警 re #I3ZC1R Change-Id: I594d0f57e4cbbdb246a6bef1c978a38228123a34 Signed-off-by: Nx-xiny <1301913191@qq.com> Change-Id: I1d75cdcdcf9d06ec28e541cdfea77300da7c6bb1
-
- 07 7月, 2021 2 次提交
-
-
由 Denny 提交于
-
由 Caoruihong 提交于
fix compile errors in minimal compilation Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I48f4f7b27c684e2c747c1949776c5c4f9e383dec
-
- 06 7月, 2021 1 次提交
-
-
由 qidechun 提交于
1、在内核增加BlackBox核心框架,对外提供模块回调接口注册和故障处理接口。 2、增加默认的系统模块适配层,处理通用内核态和用户态故障日志抓取和保存。 Close #I3NN7V Signed-off-by: Nqidechun <qidechun@huawei.com>
-
- 01 7月, 2021 1 次提交
-
-
由 boxi 提交于
LiteOS_a中有部分配置宏进行了重复冗余定义,导致当头文件未被包含时,极易引入错误, 故对menuconfig配置宏进行统一处理,均使用#ifdef/#ifndef作为预编译判断方式 Close #I3YEGS Change-Id: Ife6db770cc66de1d6199a4f3ba3950e9bfd0e71a Signed-off-by: Nboxi <lewis.liulei@huawei.com>
-
- 28 6月, 2021 1 次提交
-
-
由 Caoruihong 提交于
sysroot and arch related cflags are pass by BUILD.gn now. Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: Ia6000dd7ed8a8a37e935ace49d8460a919a16566
-
- 26 6月, 2021 1 次提交
-
-
由 Haryslee 提交于
背景:LOS_UserMemClear接口原有实现是通过在内核中 申请一块堆内存并对其清零,调用copy_to_user来达到 对用户态内存清零的目的,需要使用堆内存。 修改方案:基于汇编实现内核对用户态内存清零的功能。 close #I3XXT0 Change-Id: I27cb1e45559cb75a9b330799fe427abd54f51c15 Signed-off-by: NHaryslee <lihao189@huawei.com>
-
- 07 6月, 2021 1 次提交
-
-
由 Far 提交于
1. 修复可能对NULL指针解引用的场景 2. 将不修改内容的指针入参修改为const 3. 对getpgrp的返回值进行校验后再使用 4. 修复了局部变量未初始化的问题 Close #I3UOFN Signed-off-by: NFar <yesiyuan2@huawei.com>
-
- 05 6月, 2021 1 次提交
-
-
由 Caoruihong 提交于
support turn off as many features as possible. current only libc and posix and bsd can not be turned off. Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I1e97570c67593207a56dc11f357eca4b4a018bfd
-
- 24 5月, 2021 1 次提交
-
-
由 zhushengle 提交于
背景: 当前信号实现原理是在系统调用结束和中断结束时检查是否有信号处理, 如果有信号处理就切去处理信号,信号处理结束后回来继续按原来流程执行。 问题:当用户态线程在执行系统调用或缺页异常时,运行在内核态,如果此时有信 号需要处理,且该线程已经持有了部分内核资源(如:锁,内存等), 此时如 果有中断发生,则在中断结束时,就会去处理该信号,此时用户态线程持有 了内核未释放的资源跑到了用户态去运行,如果该线程在用户态出现问题, 那么它持有的内核资源就无法被释放了。 方案:用户态线程在执行系统调用和缺页异常时暂时屏蔽信号,防止此时有中断去 处理信号,等系统调用结束或缺页异常结束时再去处理信号。 解决的问题: 1. 执行系统调用或缺页异常时屏蔽信号,防止中断去处理信号 2.解决无法kill 因为用户态的锁、ipc等阻塞的用户态线程 3.进程退出方式转变为: 依次通过kill去杀死该进程的所有线程 Close #I3S0N0 Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
-