Commit Graph

99 Commits

Author SHA1 Message Date
Shell 6ca327d8ce
[smart] add CPU/thread usage tracing config (#8947)
* [smart] add CPU usage tracing config

This patch introduces following features:

- Added CPU usage tracing functionality, enabled by default, for
  applications like 'top'
- update time as smart independent

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

* fixup: add ump idle thread

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-06-04 00:06:41 +08:00
wdfk-prog 8e54e31c74
[IDLE] 修改注释,避免造成歧义 (#9010) 2024-05-29 22:18:13 +08:00
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
Meco Man bd228eb9c5 [ci] fix errors under strick compiling mode 2024-02-20 08:39:05 +08:00
Meco Man 2748a6ada4 [kernel] fix some strict compiling warnings 2024-02-19 01:56:21 -05:00
xqyjlj 6b6d39d716
feat: delete thread ref (#8456) 2024-01-05 17:03:55 +08:00
xqyjlj b8d1d671a9
feat(idle): add _hook_spinlock, rm _idle_inited (#8361) 2023-12-24 20:01:57 +08:00
xqyjlj 3aa19af301
🐞 fix(src/idle.c): fix thread exit (#8239) 2023-11-13 22:46:48 +08:00
tangzz98 acc66c5479
实现MPU抽象层 (#8080)
- 为RT-Thread设计MPU抽象层,支持ARMV7-M,ARMV8-M架构,让用户使用MPU检测栈溢出等内存问题,实现线程内存隔离
- 在components/mp目录下提供通用的API,libcpu目录下提供各处理器架构的具体实现
- 在STM32U575 NUCLEO, STM32H75 NUCLEO开发板测试通过
2023-10-30 08:24:55 -04: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
geniusgogo ecd29fda60
Sync dfs lwp (#8123) 2023-10-17 13:07:59 +08:00
hiro_655 ced40f33c5
[HUST CSE][doxygen][src]Fix the comment in rt_thread_defunct_enqueue (#7228)
根据这个issues #6857 在idle.c文件中找到一个函数缺失参数
2023-04-13 19:25:59 -04:00
Shicheng Chu 93f3cb30e4
[kernel] 将rt_thread结构体改为显式继承rt_object (#7131) 2023-04-04 09:06:27 -04:00
wangxiaoyao ed58f6676d [src] add assertion for debugging 2023-02-21 08:48:49 +08:00
Man, Jianting (Meco) 061af7b092
[kenel] add static name for rt_object (#6422)
增加静态object 名字,用户可以根据内存实际使用情况决定使用动态还是静态。适用于资源极度受限的情况下使用。该功能在RT-Thread完整版本中不常用,主要用于RT-Thread Nano,以缩减对内存的占用。由于没有动态拼接支持,在静态名字下,空闲线程的名字在多核时将命名成相同的名字。
2022-12-20 22:36:32 -05: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
Meco Man 43ede1859a [kernel] 优化内置线程命名
main线程栈指定对齐字节数
2022-08-25 10:11:35 +08:00
liuxianliang 9f5a9b6bc8 [modify] the recycle logic about resource of pthread. 2022-05-18 08:44:30 +08:00
Man, Jianting (Meco) 6295ec108e
[kernel] remove the register keyword (#5888) 2022-04-29 06:34:42 +08:00
thewon86 f5b0bfd3f4 uniform code writing-disable interrupt 2022-04-20 14:22:43 +08:00
Meco Man d6d84ed055 [kernel][pm] beautify code 2022-01-17 19:07:17 -05:00
guo 0f77fab0a1
Merge pull request #5510 from Eureka1024/master
[kernel]Delete an extra semicolon
2022-01-12 09:53:38 +08:00
杨澄 eab086122e
[kernel]Delete an extra semicolon 2022-01-11 21:25:08 +08:00
thewon86 5ae6b54e21 remove duplicate work between idle and thread_exit 2021-11-26 09:13:18 +08:00
yangjie 5de6996670 [kernel]update format 2021-09-10 17:51:52 +08:00
yangjie a912a2f88f [kernel]Normalized kernel API annotation 2021-09-10 17:31:31 +08:00
Bernard Xiong 054f6db3e6
Merge pull request #4760 from mysterywolf/Internafunction
[kernel] 规范内核内部函数命名
2021-08-05 16:57:16 +08:00
Meco Man c10678c1f0 内部函数以_开头 2021-08-04 10:53:17 +08:00
fenghuijie 05bb1a50b0 添加idle回收资源的修改 2021-07-03 17:54:58 +08:00
Meco Man 24b4b6cbb9 [kernel]补充endif后缀注释 2021-06-10 01:48:17 +08:00
Meco Jianting Man e7097118d2
Merge pull request #49 from RT-Thread/master
update
2021-06-08 10:53:18 +08:00
Meco Man 076941612a [kernel] 规范内核内部函数命名 2021-06-04 00:34:27 +08:00
Meco Man 5a6bc99006 [bug][kernel] 保持空闲任务钩子函数调用的原子性 2021-06-03 19:05:36 +08:00
Meco Jianting Man c58d893c1a
[kernel][idle] _has_defunct_thread函数增加条件编译
_has_defunct_thread函数增加条件编译,防止没有开启heap时报警
2021-05-22 17:21:42 +08:00
Meco Man 678306d300 [kernel]auto formatted 2021-03-08 11:25:38 +08:00
shaojinchun 5957e15754 cleanup操作改由当前线程退出前执行 2020-12-31 10:31:06 +08:00
LinJieqiang d16d78c53e fix spelling mistake for "RT_IDEL_HOOK_LIST_SIZE" 2019-09-05 08:33:12 +08:00
tangyuxin 6a170ddbe4 [src][idle] 修复一处编译警告 2019-07-13 09:30:23 +08:00
EvalZero c57f2370ad [components][pm]improve low power management components 2019-05-06 18:17:55 +08:00
Bernard Xiong 25988d30d9 [Kernel] Add thread detach for system thread 2019-02-07 23:49:46 +08:00
Bernard Xiong d266d681a1 [kernel] Fix the 64bit issue for idle thread cpu binding. 2018-12-24 09:07:56 +08:00
shaojinchun 94a2e751a5 修正idle.c中一处宏定义位置 2018-11-22 22:06:02 +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 Xiong efe4523132 [Kernel] move module tolibc/libdl. 2018-08-30 20:27:45 +08:00
armink d37c289b56 [kernel][idle] Improve rt_thread_idle_sethook and rt_thread_idle_delhook code. 2018-07-14 14:04:08 +08:00
armink e9c165034e [kernel][idle] Add idle hook list. 2018-07-13 10:02:27 +08:00
Bernard Xiong df64a297ab [Kernel] Remove memory ops when SLAB and module enable 2018-06-10 18:46:11 +08:00