yinshuqing
bc69ca104c
Watchdog test case repair
...
Signed-off-by: yinshuqing <yinshuqing@huawei.com>
2021-12-14 20:28:32 +08:00
openharmony_ci
67e31f7b45
!726 fix: 删除冗余的头文件los_pmm.h
...
Merge pull request !726 from kenneth/los_pmm.h
2021-12-03 07:02:35 +00:00
kenneth
1a8e22dcf1
fix: 修改MMU模块的注释错误
...
修改los_arch_mmu.c中的page_idx 为scanIndex,修改pmm_alloc_page为LOS_PhysPageAlloc。
fix #I4KMMJ
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-12-03 11:07:18 +08:00
kenneth
8e614bb161
fix: 删除冗余的头文件
...
删除无用的头文件kernel\base\include\los_pmm.h
fix #I4KN63
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-12-03 10:59:20 +08:00
zhushengle
2cd03c55b7
fix: los_stat_pri.h中缺少依赖的头文件
...
在los_stat_pri.h中添加los_typedef.h
Close #I4KEZ1
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I19f8b79f9f559e1324432280f123a911bf8caf27
2021-12-01 09:24:52 +08:00
zhushengle
64e49aba7c
feat: 支持L1 低功耗框架
...
方案描述:
和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: zhushengle <zhushengle@huawei.com>
2021-11-29 11:58:47 +08:00
LiteOS2021
e748fdbe57
feat: L0~L1 支持Lms
...
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: LiteOS2021 <dinglu@huawei.com>
Change-Id: Id8e5c890656da9edc4a22227e6a3c32205c024ce
2021-11-27 11:13:41 +08:00
openharmony_ci
ce4323ff16
!704 【fix】smp启动时副核冗余的启动框架调用
...
Merge pull request !704 from Zhaotianyu/1110smpinit_fix
2021-11-25 22:48:51 +00:00
openharmony_ci
5db6c62313
!710 清理YES/NO宏
...
Merge pull request !710 from Caoruihong/remove_yesno
2021-11-18 09:32:42 +00:00
openharmony_ci
ac08912230
!706 fix: 修复los_vm_scan.c中内部函数OsInactiveListIsLow冗余代码
...
Merge pull request !706 from kenneth/los_vm_scan
2021-11-16 00:48:50 +00:00
Caoruihong
bba832ea08
chore: replace YES/NO macros to 1/0
...
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I40e31e82c33418019c1afc16ac174919e72fbb07
2021-11-16 01:27:06 +08:00
kenneth
2bddff54c8
chore: 优化函数OsVmRegionRightCheck命名
...
函数名称OsVmRegionRightCheck修改为OsVmRegionPermissonCheck进行内存区间权限检查
close #I4HR6I
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-11-11 19:52:25 +08:00
kenneth
bc32a1ec0f
fix: 修复los_vm_scan.c中内部函数OsInactiveListIsLow冗余代码
...
函数OsInactiveListIsLow()和InactiveListIsLow()代码重复,删除冗余代码。
close #I4HKFF
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-11-11 19:44:34 +08:00
arvinzzz
5ce70a50c3
fix: smp初始化中副核冗余的启动框架调用
...
close: #I4F8A5
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I9a863d3265fd18051d8bfcaab51ad59216630e91
2021-11-10 19:14:29 +08:00
kenneth
0f878febb7
chore: 修复社区反馈问题Percpu结构体注释错误
...
修复社区反馈问题Percpu结构体注释错误,排查下其他拼写错误。
close #I4GMLH
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-11-10 10:20:33 +08:00
openharmony_ci
f63ce99399
!692 chore: 修复内存模块的一些不规范用语
...
Merge pull request !692 from kenneth/mmu_fix
2021-11-10 02:06:29 +00:00
openharmony_ci
3b8083815c
!701 按照门禁要求对所有BUILD.gn脚本进行格式化
...
Merge pull request !701 from Caoruihong/gnformat
2021-11-06 04:48:29 +00:00
Caoruihong
a2fed9a56c
chore(build): format all BUILD.gn files
...
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ifd3bf13f53a27e0a0bbd051cf35662e7409e6ed0
2021-11-06 11:55:58 +08:00
zhushengle
f06e090a10
feat: 进程cpup占用率结构优化为动态分配
...
Close #I4GLNT
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I7f3dd61bbf014fa157b1f9a0a089fd985fe188c2
2021-11-02 19:57:26 +08:00
openharmony_ci
38163de8f3
!687 feat: liteipc 静态内存优化
...
Merge pull request !687 from zhushengle/liteipc
2021-11-02 11:05:46 +00:00
openharmony_ci
fcb21ffc8a
!676 修复ppoll接口"[ERR]OsMemFree check error!"报错
...
Merge pull request !676 from pef/ppoll-1
2021-11-02 09:35:09 +00:00
lnlan
2e3bbf1e61
修复ppoll接口"[ERR]OsMemFree check error!"报错
...
【背景】
1.内核中释放用户空间指针报错:"[ERR]OsMemFree check error!"
2.现有ppoll实现存在问题
3.相关用例需要整理
【修改方案】
1.去掉释放用户空间指针操作
2.更正逻辑错误
3.更正掩码设置与恢复不起作用
4.修复补充现有用例
【影响】
对现有的产品编译不会有影响。
re #I47YWZ
Change-Id: Ib2f60986e9cafb2ea5ef1097ab8552cbb1ede5b4
Signed-off-by: lnlan <lanleinan@163.com>
2021-11-02 07:04:35 +00:00
kenneth
466996b2e1
chore: 修复内存模块的一些不规范用语
...
layes修正为layers,alreay修正为already,Continous修正为Continuous等等
close #I4GHLR
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-11-02 12:01:59 +08:00
zhushengle
52379242c1
feat: liteipc 静态内存优化
...
Close #I4G4HP
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I259c792365d9747f391c5bd275e77f04b83e0792
2021-11-02 11:54:08 +08:00
openharmony_ci
e0a6e1f9f0
!679 fix: 修复OsVmPhysFreeListAdd和OsVmPhysFreeListAddUnsafe函数内容重复
...
Merge pull request !679 from kenneth/los_vm_phys
2021-11-02 03:00:02 +00:00
kenneth
ef1d9f848d
chore: 修复任务调度代码中部分函数、变量命名不规范问题
...
变量readTasks应该为readyTasks;函数OsSchedTaskSwicth应该为OsSchedTaskSwitch;其他拼写错误。
close #I4GFJ7
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-11-02 08:49:52 +08:00
pef
78a297fd4e
修复ppoll接口"[ERR]OsMemFree check error!"报错
...
【背景】
内核中释放用户空间指针报错:"[ERR]OsMemFree check error!"
【修改方案】
修改SysPpoll函数。
【影响】
对现有的产品编译不会有影响。
re #I47YWZ
Change-Id: Id7f86036870d4f32be8fc438b9aad85cdda59546
Signed-off-by: pef <cyd1997@126.com>
2021-10-29 08:14:20 +00:00
zhushengle
5004ef4d87
fix: 优化liteipc任务状态,删除功能重复字段
...
LosTaskCB 中 字段waitFlag 用于专门记录任务被阻塞的原因,与ipcStatus 功能重复
Close #I4FVHK
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ie0998b987ba6e1db050596dec3b359e73ca47686
2021-10-29 12:02:00 +08:00
teamol
a55f68f957
fix: fix ppoll
...
1.modifications:
modified: syscall/fs_syscall.c
2.modify 2 testcases:
IO/full/IO_test_ppoll_001.cpp
IO/full/IO_test_ppoll_002.cpp
3.influence:
none
Signed-off-by: pef <cyd1997@126.com>
Change-Id: I85fc091098a6dfef1a4694a3bbc489640ee6dda2
2021-10-28 11:54:19 +00:00
zhushengle
0f0e85b7a6
fix: 非当前进程销毁时,销毁liteipc时错误的销毁了当前进程的liteipc资源
...
Close #I4FSA7
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I8b24a1e1554b4b867a841bc1b6765cbfd648cdbd
2021-10-28 17:30:54 +08:00
openharmony_ci
2f6cd46372
!664 feat: 支持LOS_TaskJoin 和 LOS_TaskDetach
...
Merge pull request !664 from zhushengle/Join
2021-10-28 08:01:08 +00:00
openharmony_ci
ea45982e1f
!669 feat: 进程rlimit修改为动态分配,减少静态内存占用
...
Merge pull request !669 from zhushengle/rlimit
2021-10-28 02:35:27 +00:00
kenneth
6827bd2a22
fix: 修复OsVmPhysFreeListAdd和OsVmPhysFreeListAddUnsafe函数内容重复
...
删除OsVmPhysFreeListAdd/OsVmPhysFreeListAddUnsafe、OsVmPhysFreeListDel/OsVmPhysFreeListDelUnsafe两对内部函数内容重复的部分。
close #I4FL95
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-10-27 15:35:43 +08:00
openharmony_ci
7676cdb886
!656 修复PR520的修改缺陷
...
Merge pull request !656 from lnlan/sigwait_patch
2021-10-26 01:39:06 +00:00
zhushengle
cf8446c941
feat: 进程rlimit修改为动态分配,减少静态内存占用
...
Close #I4EZY5
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I47ed0ff7a52f72e38875c3308b20e183cc5c4563
2021-10-22 11:55:52 +08:00
zhushengle
37bc11fa88
feat: 支持LOS_TaskJoin 和 LOS_TaskDetach
...
Close #I4EENF
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Iaa1582f567eb3524262bea383e0b8238b89b5fe2
2021-10-19 14:26:10 +08:00
openharmony_ci
bda00e6747
!655 TCB中使用的execFile字段改为execVnode
...
Merge pull request !655 from LeonChan/execfile
2021-10-15 01:45:58 +00:00
lnlan
40338918d9
fix: 修复PR520缺陷
...
【背景】
https://gitee.com/openharmony/kernel_liteos_a/pulls/520
上面修改,信号处理时才会释放申请的内存,当信号被屏蔽,且一直发送该信号时,
内存占用会不断变大
【修改方案】
1.
信号发送时已经有该信号的siginfo在链表中时,不再重新申请,重复使用之前的siginfo.
【影响】
对现有的产品编译不会有影响。
re#I4DEG5
Signed-off-by: lanleinan <lanleinan@163.com>
Change-Id: I74b3b7ff0b9efb0179313af9a0c8d1e12d1db5bb
2021-10-11 12:37:58 +00:00
openharmony_ci
13e1e70358
!652 OsFutexWaitParamCheck函数中absTime为0时,直接返回,不需要打印
...
Merge pull request !652 from zhangfanfan2/other
2021-10-11 07:45:35 +00:00
openharmony_ci
c360a97bab
!631 fix: 进程在退出前回收vmspace中的所有Region
...
Merge pull request !631 from zhushengle/process
2021-10-11 03:55:22 +00:00
zhangfanfan2
3f71be7535
fix: OsFutexWaitParamCheck函数中absTime为0时,直接返回,不需要打印
...
当设置的超时时间比较短时,会出现absTime为0的情况,直接返回,不需要阻塞和打印。
close: #I4D67E
Signed-off-by: zff <zhangfanfan2@huawei.com>
2021-10-10 08:49:56 +00:00
zhushengle
298ccea3fe
fix: 进程退出前自己回收vmspace中的所有region
...
背景:
父进程fork一个子进程,调用waitpid等待子进程结束。
子进程dlopen一个文件a.so,并退出。当守护进程正在
1核回收子进程资源时,父进程在0核运行从waitpid返
回后,同时remove a.so概率失败。
Close #I4CKQC
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ie7940e7c931ced10ee357cf9aa7c64355effed49
2021-10-09 12:14:45 +08:00
Leon Chan
e4a06623ce
fix: change the execFile field in TCB to execVnode
...
TEE需要借用TCB中的execFile来校验打开的文件,pagecache修改后,可执行程序在mmap之后,会被立即关闭,因此将execFile改为execVnode
close: #I4CLL9
Signed-off-by: Leon Chan <chenwei26@huawei.com>
2021-09-30 14:33:36 +08:00
openharmony_ci
2c33cfce86
!599 feat: L0~L1 支持Perf
...
Merge pull request !599 from LiteOS/perf
2021-09-29 06:15:02 +00:00
LiteOS2021
6e0a3f10bb
feat: L0-L1 支持Perf
...
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: LiteOS2021 <dinglu@huawei.com>
Change-Id: Ieb9b7483c85d1495df7c55bc0027f4309dff9814
2021-09-28 19:28:34 +08:00
openharmony_ci
0fa1310a32
!584 OsLockDepCheckIn异常处理中存在g_lockdepAvailable锁嵌套调用,导致死锁异常信息不正常输出
...
Merge pull request !584 from zhangfanfan2/master
2021-09-28 06:14:00 +00:00
zff
bf030b6bb5
fix: OsLockDepCheckIn异常处理中存在g_lockdepAvailable锁嵌套调用,
...
导致死锁异常信息不正常输出
close: #I457ZZ
Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: Ic54ece064a4c85103b644dcbe8ed8bbdecbfc491
2021-09-27 21:56:20 +08:00
Haryslee
9fdb80f85f
fix: 共享内存问题修复
...
Signed-off-by: Haryslee <lihao189@huawei.com>
背景:父进程移除共享内存并标记SHM_SEG_REMOVE,当子进程资源回收时在
ShmFindSeg接口中判断该共享内存具有SHM_SEG_REMOVE时返回空,但是此时
seg->ds.shm_nattch不为0,不应返回空。
方案:ShmFindSeg接口中增加seg->ds.shm_nattch为0的判断。
close #I47X2Z
Change-Id: I8735cd11ac237b17fa745c50313da0fd0649bb9f
2021-09-23 21:04:36 +08:00
openharmony_ci
93e74c5f0b
!520 修复sigwait等待到的信号值与获取的siginfo中的值不一致
...
Merge pull request !520 from lnlan/fixed_sigwait
2021-09-23 03:22:04 +00:00
openharmony_ci
ecd9ca7781
!534 pagecache从filep改为使用vnode
...
Merge pull request !534 from LeonChan/pg
2021-09-15 03:51:50 +00:00