zhushengle
7de43bb004
fix: 修复kill进程时,因liteipc阻塞的进程概率无法退出问题
...
kill进程时,会将因为liteipc阻塞的线程唤醒,使其调度并自动退出,由于liteipc阻塞机制为
循环阻塞方式,会导致将因liteipc阻塞的线程唤醒后又进入等待中。此处在唤醒因liteipc阻塞的
线程后检查是否已有kill标志,如果有使其按接收数据失败退出,在返回用户态之前,该线程会进
入退出流程,结束运行。
Close #I3XX7K
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Iec4e298dff4aefd2994289067a35cb5673e323f9
2021-06-26 17:08:48 +08:00
mucor
3d1cf683f3
feat: add clear cache cmd to /proc/fs_cache
...
write "clear pathcahe" to clear pathcaches and vnodes
write "clear pagecache" to clear pagecaches
write "clear all" to clear both pathcaches and pagechaches
the cache in use will not be cleared
close: #I3XLPH
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-24 15:11:50 +08:00
mucor
231cb6be27
feat: add /proc/fs_cache to display cache info
...
add /proc/fs_cache to display vnode, path cache, page cache.
also change some bad virable name
close: #I3WWBD
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-22 14:53:17 +08:00
SimonLi
2f3d7efc24
回退 'Pull Request !342 : 增加/proc/fs_cache来显示文件系统缓存维测信息'
2021-06-21 21:33:52 +08:00
mucor
53c6d96c6f
feat: add /proc/fs_cache to display cache info
...
add /proc/fs_cache to display vnode, path cache, page cache.
also change some bad virable name
close: #I3WESD
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-21 16:11:06 +08:00
kenneth
f0b419099d
chore: rename function OsCreateUserVmSpace
...
rename function OsCreateUserVmSpace to fix typo
close https://gitee.com/openharmony/kernel_liteos_a/issues/I3QD42
Signed-off-by: kenneth <459864689@qq.com>
2021-06-16 15:00:53 +08:00
openharmony_ci
647f3defcd
!296 支持最小化特性编译,添加了一个针对qemu arm virt的样例config配置
...
Merge pull request !296 from Caoruihong/master
2021-06-07 22:51:46 +08:00
Caoruihong
744b2021b2
chore: add a mini config for qemu arm virt
...
support turn off as many features as possible.
current only libc and posix and bsd can not be turned off.
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I1e97570c67593207a56dc11f357eca4b4a018bfd
2021-06-05 17:40:22 +08:00
Kiita
e5f6bf0556
feat: timer_create支持以SIGEV_THREAD方式创建定时器
...
【背景】当前timer_create接口不支持以SIGEV_THREAD的方式创建多个定时器
【修改方案】
1、内核timer_create接口在创建software timers相应的线程时,使用线程
taskCB所携带的信息识别各个线程的信号并依据该信息分别派发出信号。
2、关于用户任务操作许可验证的修改,现在允许同一用户线程向其自身派发信
号,软件定时器计时结束,向用户态发送相应的信号,完成用户态线程的回调。
【影响】
对现有的产品暂无影响。
re #I3SRFI
Signed-off-by: yansira <yansira@hotmail.com>
Change-Id: Ia23f5ef01975bf867dd7f5db797a30c264c50501
2021-06-04 15:29:44 +08:00
openharmony_ci
2067b2f648
!256 fix: 解决kill进程时无法保证进程持有的系统资源合理释放
...
Merge pull request !256 from zhushengle/Sig
2021-06-03 17:00:00 +08:00
zhushengle
cf89f016e9
fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放.
...
背景: 当前信号实现原理是在系统调用结束和中断结束时检查是否有信号处理,
如果有信号处理就切去处理信号,信号处理结束后回来继续按原来流程执行。
问题:当用户态线程在执行系统调用或缺页异常时,运行在内核态,如果此时有信
号需要处理,且该线程已经持有了部分内核资源(如:锁,内存等), 此时如
果有中断发生,则在中断结束时,就会去处理该信号,此时用户态线程持有
了内核未释放的资源跑到了用户态去运行,如果该线程在用户态出现问题,
那么它持有的内核资源就无法被释放了。
方案:用户态线程在执行系统调用和缺页异常时暂时屏蔽信号,防止此时有中断去
处理信号,等系统调用结束或缺页异常结束时再去处理信号。
解决的问题:
1. 执行系统调用或缺页异常时屏蔽信号,防止中断去处理信号
2.解决无法kill 因为用户态的锁、ipc等阻塞的用户态线程
3.进程退出方式转变为: 依次通过kill去杀死该进程的所有线程
Close #I3S0N0
Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
2021-05-24 14:29:37 +08:00
arvinzzz
d2f2679071
fix: Delete useless 'exc interaction' macros and function declarations.
...
close: #I3SDKY
Change-Id: I5ed9356ce2b55b6e07c3f192cdbc4a4f6fbfaa58
2021-05-21 15:10:05 +08:00
arvinzzz
8cde768588
refactor: Refactored the kernel boot process and added a init framework
...
close: #I3I768
Change-Id: I4f801df4abe1a9afdf43391c28276e96a5e81513
2021-05-20 16:45:43 +08:00
openharmony_ci
6f99abfc7b
!222 fix: correct spelling
...
Merge pull request !222 from rtos-lover/los_task
2021-05-19 13:46:10 +08:00
kenneth
8f8c038b21
fix: fix function name OsSchedSetIdleTaskSchedParam
...
correct function name OsSchedSetIdleTaskSchedParam
close https://gitee.com/openharmony/kernel_liteos_a/issues/I3RQ6J
2021-05-18 09:02:48 +08:00
zhushengle
1e308db64e
fix:Fixed exception not saving stack pointer of SVC mode and abnormal signal processing issues
...
Close #I3OAFR
Change-Id: I25b14572809b6fabb9e9d17de89a99047c02a59b
2021-05-11 09:58:54 +08:00
rtos-lover
c66fe0313f
fix: correct spelling
...
correct some typos in los_task.c and other files
close https://gitee.com/openharmony/kernel_liteos_a/issues/I3QDB8
2021-05-08 11:23:08 +08:00
zhushengle
f6c4f6f5da
fix: Solution of conflict
...
Change-Id: If6304999f1dfbcdfbc1670b73ace61b8024336bd
2021-05-06 21:10:22 +08:00
zhushengle
6d63f75e7f
fix:Solve the coupling between the kernel and the structure under ARCH.
...
Close #I3OAFR
Change-Id: Icea238e20adf402d0ec1fc7e47ff4e58124a5e83
2021-04-26 19:54:49 +08:00
Haryslee
20754539e4
remove redundant field regions in VmSpace structure
...
Change-Id: I626a96376fe6bee69b10ee9b56495d62849c19b7
2021-04-26 14:39:45 +08:00
openharmony_ci
7ba0bfa800
!157 删除无用的__cplusplus,移除不必要的文件x权限
...
Merge pull request !157 from Caoruihong/cplusplus
2021-04-20 09:01:45 +08:00
Caoruihong
7e73c929a2
remove __cplusplus guards in .c files
...
Change-Id: I052d930d54e63179b17b77f02c107a015f3cfc3f
2021-04-19 18:28:25 +08:00
Caoruihong
1ea9610ffd
code optimization
...
Change-Id: I8d2e9f96e86f4130474da9898791240b5d42328e
2021-04-19 15:24:00 +08:00
zhangfanfan2
23037dfd38
新增函数LOS_CurrSpaceGet
2021-04-17 16:28:03 +08:00
YOUR_NAME
c959d43684
IssueNo:#I3E0F2
...
Description:Delete VM to support only kernel mode.
Sig:liteos_a
Feature or Bugfix:Feature
Binary Source:No
Change-Id: Ie1029c8fbc0c1b85c138663933118d2d148b7769
2021-03-31 16:14:54 +08:00
mamingshuai
73a7b66116
update openharmony 1.0.1
2021-03-11 18:43:57 +08:00
openharmony_ci
58da2cb0c2
!33 OpenHarmony LiteOS-A QEMU support
...
Merge pull request !33 from WojciechZmuda/qemu-arm-dev
2020-12-31 18:21:58 +08:00
Zbigniew Bodek
07c89a8473
Fix IS_PERIPH_ADDR() and IS_MEMORY_ADDR() macros
...
The macros assume that constants that are compared against
"addr" are either unsigned or less than INT_MAX.
In some cases it is not true so change costants to unsigned
using U32_C macros.
The correct solution would be to change teh MEM_ADDR, PMM_BASE, etc.
to be unsigned long but currently "U" suffix is appended in various
places so the assumption is that those macros use default definition
(which is int).
Put "addr" into brackets by the way since it could be an expression
rather than one variable.
Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Change-Id: Ife9bc5863b4934ecaab64b24faa084b87d7d7ea5
2020-12-31 00:54:33 +08:00
Zbigniew Bodek
994ad00de7
Change DEFINE macro to U32_C
...
The macro to append "U" suffix should be named
according to what it actually does which is defining U32 constant.
Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Change-Id: I55701f0650c88bd083c062581af5c7a1b966bc0b
2020-12-31 00:53:09 +08:00
likailong
3dd32b9901
Description: add protect flag to resource task
...
Reviewed-by: shenwei and zhangfanfan
2020-12-26 10:43:04 +08:00
zhushengle
4ff3c4bf79
Description:Process security function rectification.
...
Reviewed-by:liulei, lihao, likailong
Change-Id: Ibacdda2ccbbc991ac9732f2ad09bdb98195203b3
2020-11-05 09:10:14 +08:00
Caoruihong
63bd69267a
drop unnecessary executable file permission mode
...
Change-Id: Ia6c1f6302407a707b3ec9b805f4c92d8a7970b86
2020-10-13 16:37:25 +08:00
zhushengle
12b81567df
修改PCB中错误的注释,并统一注释格式
2020-09-28 21:47:42 +08:00
Harylee
f62115dfef
Fix mmap
2020-09-28 16:32:18 +08:00
wenjun
6df931fc98
add OpenHarmony 1.0 baseline
2020-09-08 17:22:24 +08:00