Commit Graph

55 Commits

Author SHA1 Message Date
Shell 6977cf9101
[src] add rt_hw_cpu_id() wrapper API (#8894)
* [src] add rt_hw_cpu_id() wrapper API

rt_hw_cpu_id() is an unsafe API which should not be used by most codes
directly. It's error-prone because it must be used in proper context,
otherwise it can lead to errors and unpredictable behavior.

This patch adds a wrapper API for rt_hw_cpu_id() to address this risk.
It includes the context-checking functionality and provides a safer
alternative for obtaining CPU IDs, ensuring that it is used correctly
within the appropriate context.

Signed-off-by: Shell <smokewood@qq.com>

* fixup UMP

* update API & comment

* ci: cpp_check

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-08 09:22:09 +08:00
Shell 71560bafb5
🎯 Sync smart & scheduler codes (#8537)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-02-23 17:49:15 +08:00
Shell cc157baf23
[kernel] fixup of data racing accessing percpu objects (#8475)
Signed-off-by: Shell <smokewood@qq.com>
2024-01-09 23:09:49 +08:00
xqyjlj 6b6d39d716
feat: delete thread ref (#8456) 2024-01-05 17:03:55 +08:00
Shell e7880a9713 [kernel] support for hook list
Signed-off-by: Shell <smokewood@qq.com>
2024-01-02 19:42:46 +08:00
xqyjlj e31fa93423
feat: spinlock should lock sched (#8360) 2023-12-22 11:15:18 +08:00
xqyjlj 3283f54c7a
🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: Shell <smokewood@qq.com>
2023-10-25 20:31:25 +08:00
RiceChen c4d649bdf5 fix:only the main core detection rt_timer_check(), in SMP mode 2023-10-23 14:03:29 +08:00
Nephr1te 7212e6bc1c
[HUST_CSE] add doxygen missing `@brief` (#7368) 2023-04-25 00:36:39 -04:00
Man, Jianting (Meco) 99bdf978d7
[rtdef] use lower-case to define attributes (#6728)
* [rtdef] rename RT_WEAK attribute as rt_weak

* [rtdef] rename RT_USED attribute as rt_used

* [rtdef] rename RT_SECTION attribute as rt_section

* [rtdef] rename ALIGN attribute as rt_align

* [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support
2022-12-11 13:12:03 -05:00
tyustli 5178e7ec0b
[add] src/clock.c add hook for rt_tick_increase (#5569)
* [add] src/clock.c add hook for rt_tick_increase

* [fix] clock.c rt_tick_incerase hook function

* Update clock.c

Co-authored-by: guo <guozhanxin@rt-thread.com>
2022-02-13 14:50:51 +08:00
liukangcc d99737d8a9 [update] functions annotation. 2021-09-18 16:56:44 +08:00
guozhanxin 6cb093aa27 [kernel] Improve code comments. 2021-09-14 21:55:06 +08:00
guozhanxin e562c6f24b [kernel] 裁剪尾随空格 2021-09-10 16:31:31 +08:00
guozhanxin 921e6057aa [clock] Improve the code comment of the clock.c 2021-09-10 15:52:03 +08:00
Meco Man 24b4b6cbb9 [kernel]补充endif后缀注释 2021-06-10 01:48:17 +08:00
Bernard Xiong 2884700817
Merge pull request #4759 from mysterywolf/rt_tick
[kernel] 对rt_tick变量增加volatile修饰,防止编译器优化时出现问题
2021-06-03 23:52:38 +08:00
Meco Man e0b66ccab8 [kernel] 对rt_tick变量增加volatile修饰,防止编译器优化时出现问题 2021-06-03 20:09:26 +08:00
Meco Man 5a6bc99006 [bug][kernel] 保持空闲任务钩子函数调用的原子性 2021-06-03 19:05:36 +08:00
Meco Man f34e9323b4 对rt_tick_increase临界区进行保护 2021-06-01 14:41:55 +08:00
geniusgogo 37960723b8 fix rt_tick_increase critical code protection 2021-05-28 18:42:40 +08:00
Meco Man 678306d300 [kernel]auto formatted 2021-03-08 11:25:38 +08:00
Meco Man a1f4d93fc5 update 2020-12-30 16:33:30 +08:00
Meco Man 63cd26b0d1 update 2020-12-30 16:32:20 +08:00
Meco Man c2e15e003c add function rt_hw_1ms_tick_get() 2020-12-29 00:08:24 +08:00
guozhanxin a22decb71b 【优化】在代码中移除 rt_system_object_init/rt_system_tick_init 的调用。 2020-11-23 11:39:38 +08:00
shaojinchun 3ed84b8d03 解决yield操作不能及时释放cpu的问题 2020-07-24 21:13:56 +08:00
Bernard Xiong 992d3af3ae [kernel] code and comments cleanup 2019-12-16 13:59:46 +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 234af6aaa2 修正相同优先级任务切换太频繁的问题 2019-10-12 10:51:47 +08:00
Ernest Chen aa3295d7f0 [src/clock.c] avoid warning 2019-03-27 19:50:40 +08:00
HubretXie 348bd83b08
【修复】修复计算中间值溢出问题
rt_tick_from_millisecond
当入参较大时,计算中间值会出现溢出情况,导致转换结果出错
2019-03-20 14:54:17 +08:00
lgnq 308065a9a2 Update clock.c
function rt_timer_check(void) is already decleared in rtthread.h
2019-03-07 16:30:53 +08:00
shaojinchun fc6bc1ad39 Add smp support to RT-Thread 4.0 2018-11-22 18:16:47 +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
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
dogandog b54e72275a Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:05:00 +08:00
Bernard Xiong 79392bb082 Embedded GPLv2 license. 2013-06-24 17:06:09 +08:00
dzzxzz@gmail.com a810c1ae73 convert the tabs to spaces in clock.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2501 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-20 07:34:48 +00:00
qiuyiuestc@gmail.com a73abdccf5 split export symbols from rtm.c to each file
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2263 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-08-27 01:21:57 +00:00
bernard.xiong@gmail.com b14044212b remove soft timer tick increase
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2108 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-05-05 01:45:17 +00:00
dzzxzz 12b5e56f46 unify the coding style of kernel
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1998 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-03-17 06:43:49 +00:00
bernard.xiong@gmail.com 7ebea8fe65 deprecated rt_system_tick_init function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1931 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-01-31 12:17:47 +00:00
dzzxzz 9e127126c7 delete line 27 in clock.c, function rt_timer_switch() not used in clock.c
line 27 extern void rt_timer_switch(void);

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1857 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-21 08:27:29 +00:00
dzzxzz c0f80bdf9a cleanup kernel code
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1715 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-09-21 03:56:42 +00:00
bernard.xiong@gmail.com cfd580edf4 add rt_tick_set function
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1551 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-29 14:45:35 +00:00
bernard.xiong@gmail.com 5597823b83 apply new tick overflow patch from Charlie
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1117 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-25 23:44:58 +00:00
bernard.xiong 0a64bac9d9 apply kuronca patch for heap initialization check.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@811 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-07-22 02:54:19 +00:00