Commit Graph

69 Commits

Author SHA1 Message Date
Bernard Xiong aeff91b2a7
Merge pull request #3769 from jesven/fix_yield
解决yield操作不能及时释放cpu的问题
2020-10-01 15:46:10 +08:00
shaojinchun 731e64f0c5 修正多核rt_schedule_remove_thread时pcpu的ready_table判断问题 2020-09-04 12:12:01 +08:00
shaojinchun 0e61949116 avoid deadlock (rt_hw_interrupt_disable and rt_enter_critical when enable smp) 2020-07-28 09:55:01 +08:00
shaojinchun 3ed84b8d03 解决yield操作不能及时释放cpu的问题 2020-07-24 21:13:56 +08:00
Bernard Xiong 69e8c0324e
Merge pull request #3199 from BernardXiong/fix_signal_issue
[Kernel] Fix the signal issue when the context switch is triggered bu…
2019-11-13 08:59:39 +08:00
Bernard Xiong 6fca4a7722 [Kernel] Fix the signal issue when the context switch is triggered but not immediately handled. 2019-11-12 21:23:56 +08:00
shaojinchun e03ac83ad3 将yield状态置于tcb的stat位域中 2019-11-05 08:41:38 +08:00
shaojinchun 9a38bba168 使can_yield成员的赋值更好理解 2019-10-12 11:57:27 +08:00
shaojinchun b53bd79783 同步单核时的同优先级切换问题 2019-10-12 11:52:08 +08:00
shaojinchun 234af6aaa2 修正相同优先级任务切换太频繁的问题 2019-10-12 10:51:47 +08:00
Bernard Xiong 71311b73ae [Kernel] Fix the wrong indentation 2019-09-28 12:26:48 +08:00
shaojinchun cb07e5fb24 开放spinlock相关函数 2019-09-27 14:38:33 +08:00
shaojinchun 8dd2a07d45 去除scheduler.c的_get_highest_priority_thread函数中重复判断 2019-05-11 13:51:50 +08:00
shaojinchun 737d58fbb9 修正_get_highest_priority_thread中对“是否只有idle可运行”判断位置的问题 2019-05-11 09:35:17 +08:00
shaojinchun 6cdfb2ac92 fix signal code 2019-05-11 09:34:26 +08:00
Bernard Xiong 0366eb13ac [Kernel] Fix the critical issue when scheduler not start 2019-04-04 10:58:24 +08:00
Bernard Xiong d517389e52 [Kernel] Fix the critical issue under smp 2019-04-04 10:06:28 +08:00
Bernard Xiong 69994ca210 [Kernel] Fix rt_schedule_insert_thread issue
When suspend current thread and then enable interrupt, it's possible resume "the current thread" immediately and insert to ready queue. The rt_schedule_insert_thread should change  the status of "current thread" to RUNNING statue.
2019-01-24 09:30:30 +08:00
Bernard Xiong de624c52c1 [Kernel] Enable RUNNING status in thread. 2019-01-13 11:23:08 +08:00
Bernard Xiong 58be04b693 [kernel] format scheduler log. 2018-12-19 20:10:18 +08:00
Bernard Xiong a74a3031f0
Merge pull request #2081 from jesven/sync_smp_skeleton
Sync smp skeleton
2018-12-18 14:02:04 +08:00
shaojinchun eff767a074 remove rt_hw_mb define
sync smp skeleton
2018-12-17 11:02:09 +08:00
zhaohengbo 10d00ff41c reduce change 2018-12-15 20:27:38 +08:00
zhaohengbo afcd8b4521 fix some bug when stack grows upward 2018-12-15 11:20:24 +08:00
Bernard Xiong f9f959f33e [Kernel] Fix the thread->sp data type issue. 2018-12-14 22:46:34 +08:00
shaojinchun b3e1507bcf 1 RT_THREAD_CTRL_BIND_CPU define to 4
2 RTM_EXPORT(rt_cpus_lock_status_restore)
3 sync ARCH_CPU_STACK_GROWS_UPWARD in _rt_scheduler_stack_check()
2018-12-12 09:36:39 +08:00
shaojinchun fc6bc1ad39 Add smp support to RT-Thread 4.0 2018-11-22 18:16:47 +08:00
Bernard Xiong 46dae3f35f
Merge branch 'master' into dev-4.0.x 2018-11-20 23:13:45 +08:00
Bernard Xiong 00a655ac1c [Kernel] Add ARCH_CPU_STACK_GROWS_UPWARD option 2018-11-11 15:56:02 +08:00
Bernard Xiong 484afe9d2c [Kernel] Add 64bit CPU support. 2018-10-26 06:35:42 +08:00
Bernard Xiong ff08faf605 [Kernel] Adjust the copyright information 2018-09-25 11:06:07 +08:00
Bernard Xiong 41f7f2c284 [Kernel] Update to Apache License v2.0
Update license for RT-Thread kernel.
2018-09-14 22:37:43 +08:00
BernardXiong 38b9ed3118 [Kernel] add sigwait implementation 2018-03-01 13:36:22 +08:00
armink 7a99641c71 [Kernel] Fix a bug on rt_schedule(). 2017-10-18 19:15:29 +08:00
bernard b27c7e4826 [Kernel] Add signal implementation.
1. Add signal implementation;
2. Change the 'rt_uint8_t' of cmd to 'int';
2017-10-15 22:31:53 +08:00
emlslxl e521decf2e 根据documentation/coding_style_cn.txt约定 对内核src和include目录下的文件代码进行格式化 2017-09-15 11:02:24 +08:00
tanek liang dcfaa9a909 [kernel] fix incompatible type error for "__rt_ffs()" 2017-07-29 14:20:08 +08:00
dogandog 70d34bce3c Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:16:07 +08:00
Aubr.Cool 99e1b0d29b [src] scheduler update stackcheck 2016-06-02 09:30:34 +08:00
Bernard Xiong 783753d943 [Kernel] export more symbols. 2015-08-03 16:01:50 +08:00
Grissiom 408ac34bc2 kernel: add rt_critical_level that return the lock count of scheduler
Out side world may be interested in whether the scheduler is locked or
not. Provide an API to tell that.
2013-12-21 11:27:26 +08:00
Grissiom ad17bc2908 fix debug output of scheduler
When print the thread names, we should use "%.*s" instead of bare "%s".
2013-08-19 10:08:11 +08:00
Bernard Xiong 79392bb082 Embedded GPLv2 license. 2013-06-24 17:06:09 +08:00
Bernard Xiong 1abaa0492d implement __rt_ffs in kernel service library 2013-03-23 11:27:29 +08:00
bernard.xiong@gmail.com 975610477e Add RT_USING_MEMHEAP_AS_HEAP feature: system can use "heap" memheap as system default memory heap.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2554 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-29 12:29:03 +00:00
dzzxzz@gmail.com ff65841125 fixed coding style in src/scheduler.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2526 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-25 09:17:21 +00:00
dzzxzz@gmail.com 0e40d55d9f fixed the coding style of RT_DEBUG_LOG
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2500 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-20 07:25:19 +00:00
bernard.xiong@gmail.com ee11663d87 remove rt_current_module and user can use rt_module_unload to remove a module.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2458 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-28 14:24:22 +00:00
bernard.xiong@gmail.com 8061067343 cleanup code comments and deprecate rt_system_timer_init function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2045 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-04-14 03:51:34 +00:00
bernard.xiong@gmail.com 0f519b6721 move src\kservice.h to include\rtservice.h.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2005 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-03-22 06:11:44 +00:00