Commit Graph

1044 Commits

Author SHA1 Message Date
openharmony_ci 74f8d3aa07
!804 feat: 调度去进程化,优化进程线程依赖关系
Merge pull request !804 from zhushengle/sched_process
2022-01-27 12:03:34 +00:00
zhushengle dc479fb7bd feat: 调度去进程化,优化进程线程依赖关系
1.移动LosTaskCB 至los_sched_pri.h, 解决调度与task的依赖关系
2.调度去进程化

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ibd3b618cee59f0b323e2b4fb14354c088b60b733
2022-01-27 14:30:50 +08:00
openharmony_ci 91bdcbd3c2
!801 kernel部件化编译构建(liteos_a仓库修改)
Merge pull request !801 from Hongjin Li/lihongjin/br_dev
2022-01-24 13:27:50 +00:00
Hongjin Li 422f22f5d2 chore: kernel部件化
编译构建入口整改为bundle.json

Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
Change-Id: I0d21acbeefbdbdad2a7f3d9308f648c59179ff49
2022-01-24 16:18:32 +08:00
openharmony_ci 6c0865dd46
!779 liteos-a kernel 部件标准化
Merge pull request !779 from Hongjin Li/lihongjin/br_dev
2022-01-22 09:59:39 +00:00
openharmony_ci 0257a0a14f
!714 Fix : 修改了与musl库net模块中新增测试API相关的测试用例
Merge pull request !714 from yinjiaming/yjm-kernel-net-20211124
2022-01-22 08:10:06 +00:00
openharmony_ci 046d8defdf
!791 feat: 调度相关模块间依赖优化
Merge pull request !791 from zhushengle/sched_rq
2022-01-22 06:14:50 +00:00
openharmony_ci 7938d2e569
!798 fix: pr模板补充说明
Merge pull request !798 from Harylee/mmu
2022-01-22 00:54:54 +00:00
yinjiaming 3d00a7d23a fix: 实现了musl库net模块中的一些函数接口和相应的测试用例
【背景】
musl库中关于net模块有一些API需要实现,相应的测试用例设计得不是非常合理.

【修改方案】
删去了与实现的API不相关的测试用例,修改了测试用例中一些错误的地方,
修改了测试用例中依赖硬件环境的一些地方。

【影响】
对现有的产品编译不会有影响。

re #I4JQI1

Signed-off-by: yinjiaming <yinjiaming@huawei.com>
Change-Id: If57f50b025c84aa79107691efb091dde8e7b2156
2022-01-21 12:11:24 +00:00
Haryslee e3cd485db5 fix: pr模板补充说明
Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: If717ba28495cd657fee965f9464d7165aa0e4168
2022-01-21 17:17:21 +08:00
zhushengle 0e3936c4f8 feat: 调度相关模块间依赖优化
背景:
    调度、线程、软件定时器、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: zhushengle <zhushengle@huawei.com>
Change-Id: Ia54dc1b8a4801a225a52e40555490c1dce0bd75e
2022-01-21 15:52:51 +08:00
openharmony_ci 95248d4482
!784 fix: 针对pr是否同步至release分支,增加原因说明规则
Merge pull request !784 from Harylee/mmu
2022-01-21 03:47:03 +00:00
Hongjin Li 1ecda9c033 chore: kernel部件化
1、添加HPM包描述文件bundle.json
2、依赖的三方开源软件,由直接引用路径,改为import对应的gni文件,引用变量

Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
Change-Id: Ice783c19a477626d422a37faf3d420c4965f8ea6
2022-01-20 16:44:34 +08:00
openharmony_ci 9018eab20f
!782 feat: 调度tick响应时间计算优化
Merge pull request !782 from zhushengle/calc_sched
2022-01-19 09:20:34 +00:00
openharmony_ci e6bdfbb7a5
!783 refactor: 删除冗余测试套
Merge pull request !783 from Zhaotianyu/0118test_old_delete
2022-01-19 07:44:10 +00:00
arvinzzz a28fcee1c5 refactor: 删除旧测试套,拆分process用例适配门禁90s规则
close: #I4RE80
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>

Change-Id: I353fe4aa10e4f03e7cbaca572c8e73289c599c29
2022-01-19 14:29:21 +08:00
zhushengle f47da44b39 feat: 调度tick响应时间计算优化
1.tick timer与调度进一步剥离
2.性能敏感函数内敛化

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Icf62f002fa57d452cdd23a4c7b5e6610e2785f8e
2022-01-18 20:50:35 +08:00
Haryslee b37a7b7929 fix: 针对pr是否同步至release分支,增加原因说明规则
Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: Iaea4676f20ff2b2d2f00c594cb46c2ab12c5f2c7
2022-01-18 19:01:19 +08:00
openharmony_ci 8e356c99c7
!781 refactor: 内核测试套整改,简化分类
Merge pull request !781 from Zhaotianyu/0114test_refactor
2022-01-18 08:53:08 +00:00
arvinzzz a1ae2ecc13 refactor: 内核测试套整改,简化分类
close: #I4OX3O
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>

Change-Id: I3ba65509135cee2ae3af82fec923a01e00ffdbe8
2022-01-18 14:50:09 +08:00
openharmony_ci b7d624208b
!780 L1-liteos-tdd测试liteos_a_process_unittest.bin,liteos_a_security_vid_unittest.bin和liteos_a_time_clock_unittest.bin模块用例un
Merge pull request !780 from xuxinyu/master
2022-01-14 06:26:11 +00:00
x_xiny 87b8e6b0ad fix: L1-liteos-tdd测试liteos_a_process_unittest.bin,liteos_a_security_vid_unittest.bin和liteos_a_time_clock_unittest.bin模块用例un
【背景】L1-liteos-tdd测试liteos_a_process_unittest.bin,liteos_a_security_vid_unittest.bin和liteos_a_time_clock_unittest.bin模块用例un

【修改方案】
 1.暂时将musl中的exit()接口中的原子操作改为使用mutex方式实现
 2.删除内核中不必要的打印

re #I4K9A5

Signed-off-by: xuiny <xuxinyu6@huawei.com>
Change-Id: Ifdbb9154c7541b863670bb4e3bcde2587970df38
2022-01-13 21:26:43 +08:00
openharmony_ci 321018cee0
!765 处理A核编译告警
Merge pull request !765 from yinjiaming/yjm-kernel-20220105
2022-01-13 11:39:28 +00:00
openharmony_ci b0c046f8ac
!776 修复toybox mv指令能够移动成功,但提示错误22的BUG
Merge pull request !776 from Far/master
2022-01-12 02:22:29 +00:00
Far f2861ddfb4 fix: 修复futime提示错误22的BUG
调用futime时,系统调用接口函数直接使用了file结构体的f_path字段,该字段在退出前被错误地释放了。
避免该问题需要拷贝一份路径

Signed-off-by: Far <yesiyuan2@huawei.com>
Change-Id: I519ccb38bec323c93aa8cff920143bb3f9931c22
2022-01-11 16:05:36 +08:00
openharmony_ci 48f5481c65
!771 【轻量级 PR】:reduce print log if hilog ringbuffer is full
Merge pull request !771 from shenchenkai/N/A
2022-01-11 06:29:13 +00:00
openharmony_ci c18b51182b
!759 fix: MMU竞态问题修复
Merge pull request !759 from Harylee/mmu
2022-01-10 13:07:43 +00:00
openharmony_ci d6dc0642c5
!764 Codex告警清除
Merge pull request !764 from xuxinyu/master
2022-01-10 04:56:46 +00:00
Haryslee 748e0d8ffb fix: MMU竞态问题修复
背景:同一个进程的多个线程读写同一个PTE时,由于PTE无保护,存在竞态问题。
方案:新增spinlock保护PTE,包括大锁跟小锁。大锁:一个进程只有一个spinlock锁,多个线程
读写PTE时竞争一把锁,锁的内存占用小,但系统性能降低;小锁:每个页表持有一把spinlock,
由于锁是page结构体的一个字段,内存消耗较大,但是相对大锁性能较优。系统默认使用大锁,用
户可根据具体需要配置使用大锁还是小锁。

close #I2WARC

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: I5612eeac1f65507160035eae16af61f285182eda
2022-01-08 14:55:45 +08:00
x-xiny 1cdd7307f3 Codex告警清除
【背景】
 Codex扫描告警清除

【修改方案】
 将不可屏蔽告警进行修复

 re #I4PNO3

 Signed-off-by: xuiny <xuxinyu6@huawei.com>

Change-Id: If6f85eb9679d47e6256f24cdc74246df78da579d
2022-01-07 09:49:47 +00:00
shenchenkai b65897d517
reduce print log if hilog ringbuffer is full
Signed-off-by: shenchenkai <shenchenkai@huawei.com>
2022-01-07 09:47:49 +00:00
yinjiaming 6c4e4b16ab fix: 修复shcmd.h需要用宏包起来的问题
【背景】
当前仓代码存在编译告警需要处理

【修改方案】
在测试用例中屏蔽-Werror
从shell.h中删除了多余的bool定义

【影响】
对现有的产品编译不会有影响。

re #I4N50W

Signed-off-by: yinjiaming <yinjiaming@huawei.com>
Change-Id: Id131b8437b471f44d9fe35a384678903216fcfb4
2022-01-07 06:59:40 +00:00
openharmony_ci 9995d8e0e4
!749 Clang triple renaming
Merge pull request !749 from maweiye/master
2022-01-07 03:19:25 +00:00
openharmony_ci 0ca4a128d2
!763 fix: 修复 virpart.c 不适配的格式化打印问题
Merge pull request !763 from Far/master
2022-01-07 02:08:49 +00:00
Far de29140edf fix: 修复 virpart.c 不适配的格式化打印问题
Close #I4PEVP

Signed-off-by: Far <yesiyuan2@huawei.com>
2022-01-05 10:59:50 +08:00
openharmony_ci 997e61ed53 !756 fix: 修复重复执行内存用例导致系统卡死问题
Merge pull request !756 from Harylee/print
2021-12-30 08:23:14 +00:00
Haryslee 6c2b163c7d fix: 修复重复执行内存用例导致系统卡死问题
背景:重复执行内存测试用例约几百次,系统大概率出现卡死现象,经分析知,系统卡在
内存spinlock锁中,CPU1在获取内存spinlock锁后打印异常信息,此时循环buffer满了,
CPU0此时进入异常且尝试拿取内存spinlock锁,两个核都处于锁中断锁任务状态,CPU1
写事件触发调度打印输出失败,进而在write接口中死循环无法退出,导致两个核都卡住。
方案:在write接口中增加一个判断条件:当前核处于锁任务状态且循环buffer满了时候,
直接退出循环,丢弃打印信息(持有spinlock锁后一般禁止输出打印信息)。

close #I4F7PO

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: I3f49a1bb211821e9c5d1d220d6867962d6a45a79
2021-12-29 14:27:43 +08:00
openharmony_ci 979a8a8f27 !738 fix: 修复xts权限用例压测异常问题
Merge pull request !738 from Harylee/readme
2021-12-25 02:10:18 +00:00
openharmony_ci b6f9dbbdba !747 修改procfs默认权限为550
Merge pull request !747 from LeonChan/master
2021-12-24 09:03:50 +00:00
maweiye e567467b8a clang triple renaming
Signed-off-by: maweiye <maweiye@huawei.com>
2021-12-24 16:43:41 +08:00
Leon Chan a776c04a3d fix: change default permission of procfs to 0550
close: #I4NY49

Signed-off-by: Leon Chan <chenwei26@huawei.com>
2021-12-24 12:03:58 +08:00
openharmony_ci f7932bd006 !744 LOS_Panic和魔法键功能中的使用PRINTK打印,依赖任务调度,特殊情况下存在打印不出来的问题
Merge pull request !744 from zhangfanfan2/master
2021-12-23 07:08:02 +00:00
Haryslee b0d31cb43f fix: 修复xts权限用例压测异常问题
用例异常时出现Domain fault或者unknown fault,经分析发现是TLB缓存一致性问题,
在缺页异常入口,对上述两种异常类型做异常地址TLB缓存清理即可。

close #I3ZJ1D

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: Ib84e3e87047fcac392b83a4cf6cca0d91754e66f
2021-12-23 08:50:43 +08:00
zff 53addea304 fix: LOS_Panic和魔法键功能中的使用PRINTK打印,依赖任务调度,特殊情况下存在打印不出来的问题
close: #I4NOC7

Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: I7f28e79293d3388e2b1d7208c2b8ff8ff133528a
2021-12-22 17:02:58 +08:00
openharmony_ci 954e7eb0cf !735 支持产品定制化hilog内核缓存大小
Merge pull request !735 from shenchenkai/master
2021-12-18 06:52:23 +00:00
shenchenkai 0e48a0dd12 Description:[feature] support customized hilog ring buffer size
Change-Id: I5d23deaada5939bbb6fb57505f72c2348bd6afe9
Signed-off-by: shenchenkai <shenchenkai@huawei.com>
2021-12-17 15:45:53 +08:00
openharmony_ci 52c12f7c9d !730 【轻量级PR】 console.c 分支优化
Merge pull request !730 from 雷电_SWAT/master
2021-12-16 04:26:19 +00:00
openharmony_ci 1e875d921b !734 fix: Watchdog test case repair
Merge pull request !734 from 尹树清/master
2021-12-15 02:59:56 +00:00
openharmony_ci 1db7aa7ada !733 refactor:los_cir_buf.c接口整合
Merge pull request !733 from Zhaotianyu/1213cirbuf_refactor
2021-12-15 01:46:39 +00:00
openharmony_ci 6a0c169780 !732 内核的编译框架在做编译入口的统一
Merge pull request !732 from wangchen/kernel_build
2021-12-15 01:09:40 +00:00