Commit Graph

65 Commits

Author SHA1 Message Date
Frank Buss e80facfd06 remove unused code to improve speed
The RT_ASSERT(obj != object) line is only compiled for debug mode.
But the rt_enter/exit_critical causes the compiler not to optimize
at least these 2 calls, even if it could optimize out the whole loop,
because the rt_list_entry function has no side effect, and RT_ASSET
is a no-operation in release mode. So this patch fixes this:
- no warnings anymore
- better speed in release mode
2022-10-08 22:37:41 -04:00
thewon86 f5b0bfd3f4 uniform code writing-disable interrupt 2022-04-20 14:22:43 +08:00
Gabriel Wang 6bb9e546de change all double-empty-lines to single-empty-lines 2022-01-08 20:04:43 +00:00
Gabriel Wang d7b8cf81e6 move some __on_rt_xxxxx_hook from rtdef.h to dedicated c soure files 2022-01-07 23:35:44 +00:00
Tangyuxin d724eed9fc
分离内存分配接口与内存分配算法 (#5175)
* [kernel][mem] Multiple instances of small memory allocation algorithm

* [kernel][mem] Change small memory management algorithm memory header flag

* [kernel][mem] Fix assertion problem

* [kernel][slab] Multiple instances of slab memory management algorithm

* [kernel][memheap] Remove rt_malloc/rt_free/rt_realloc and other related memory interfaces

* [kernel][mem] Clean up memory space of small memory management objects

* [kernel][kservice] Add memory application interface and thread protection interface

* [kernel][kservice] Fix function return value problem

* [kernel][memheap] Optimize memheaptrace print

* [kernel][memheap] Support best mode

* [kernel][memory] Remove semaphore lock

* [kernel][memheap] Add locked flag

* [kernel][memory] Support malloc memory in interrupt

* [kernel][memheap] Add 'memheapcheck' cmd

* [kernel][mem] Fix failure to request full memory

* [kernel][memheap] Fix compilation warning

* [kernel][mem] Fix mem realloc ASSERT

* [examples][testcases] Add small mem testcase

* [examples][mem_tc] Modify test memory size

* [examples][testcases] Add slab memory management algorithm test case

* [examples][testcases] fix small memory management algorithm test case

* [kernel][memory] Adjusting memory allocation algorithm object definition and interface

* [kernel][memory] Fix compilation warning

* [examples][utest] Fix mem test case

* [examples][utest] fix slab test case

* [utest][testcases] Shorten test time

* [kernel][memory] Formatting code

* [examples][utest] Adjust test run time

* [examples][utest] Formatting code

* [bsp] update all rtconfig.h
2021-12-16 16:23:58 +08:00
yangjie 464d0c5a97 [kernel] update comments 2021-09-11 16:40:56 +08:00
yangjie a912a2f88f [kernel]Normalized kernel API annotation 2021-09-10 17:31:31 +08:00
Meco Man 67f2f323a2 [kernel] 规范内部函数命名 2021-08-06 15:20:27 +08:00
Meco Man 8b53609f57 [kernel] 补充endif后缀注释(3) 2021-06-10 18:39:43 +08:00
Meco Man 678306d300 [kernel]auto formatted 2021-03-08 11:25:38 +08:00
Bernard Xiong adf10f2d05
Merge pull request #4081 from mysterywolf/rt_object_delete
[kernel] rt_object_delete函数优化重置object->type
2020-11-24 23:22:20 +08:00
Meco Man 05f631aa3a
[kernel] rt_object_delete函数优化重置object->type
object->type = 0;
改为
object->type = RT_Object_Class_Null;
一个东西,但是提高源码可读性
2020-11-24 04:17:50 +08:00
guozhanxin a22decb71b 【优化】在代码中移除 rt_system_object_init/rt_system_tick_init 的调用。 2020-11-23 11:39:38 +08:00
Bernard Xiong b98690e211 [Kernel] Fix the maxlen issue in rt_object_get_pointers 2020-05-17 23:14:24 +08:00
Bernard Xiong b1eb3943a3 [Kernel] Add rt_object_get_length/rt_object_get_pointers APIs. 2020-04-10 00:01:58 +08:00
Bernard Xiong 3463a756d9 [kernel] skip warning when disable debug. 2019-06-07 22:44:24 +08:00
Bernard Xiong 4d3b4abfeb [Kernel] To check object re-initialization in the list 2019-04-02 17:33:07 +08:00
BernardXiong 50a97669cf [Kernel] Add object re-initialization check. 2019-03-26 13:49:18 +00: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
liang yongxiang 7b984c2f54 [kernel] add rt_object_get_type() function who return type of object without static flag 2018-07-11 14:48:32 +08:00
liang yongxiang c5ed45237e [kernel] reset type when object delete or detach 2018-07-11 14:46:35 +08:00
Bernard Xiong df64a297ab [Kernel] Remove memory ops when SLAB and module enable 2018-06-10 18:46:11 +08:00
Bernard Xiong 682da9b249 [Kernel] Remove object container in module feature. 2018-06-10 17:56:02 +08:00
Bernard Xiong 1f37c1a497 [Kernel] Fix the object find issue when enable MODULE 2018-01-25 17:46:59 +08:00
BernardXiong 992e10ae08 [Kernel] fix the compiling warning. 2017-12-31 14:45:16 +08:00
Bernard Xiong e2d88e433e [Kernel] fix the object container initialization issue 2017-12-25 20:55:20 +08:00
Bernard Xiong 8ff8436fcd [Kernel] Add device_create/destroy api 2017-12-24 00:06:29 +08:00
emlslxl e521decf2e 根据documentation/coding_style_cn.txt约定 对内核src和include目录下的文件代码进行格式化 2017-09-15 11:02:24 +08:00
dogandog ed7088024d Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:15:10 +08:00
Bernard Xiong db73a31ec8 [Kernel] Fix compiling warning. 2015-08-03 16:02:02 +08:00
Grissiom c045281ee2 object: fix module name testing 2014-12-24 12:10:00 +08:00
bernard 4e2a6cc361 [Kernel] The rt_object_find routine can support to find an object inside a module. The usage is: rt_object_find("module_name/object_name"). 2014-07-21 06:28:43 +08:00
Bernard Xiong 79392bb082 Embedded GPLv2 license. 2013-06-24 17:06:09 +08:00
Bernard Xiong 4afdf44da2 add RT_KERNEL_MALLOC/FREE 2013-04-25 14:22:07 +08:00
dzzxzz@gmail.com a6b4440643 fixed the coding style in object.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2521 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-25 06:45:56 +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
dzzxzz@gmail.com f7aadffcde there is no need to type cast for "object"
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2242 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-08-01 01:23:55 +00:00
dzzxzz@gmail.com f19d8aa591 change the return type of function rt_object_is_systemobject()
using rt_bool_t instead of rt_err_t

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2150 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-06-02 09:20:19 +00:00
bernard.xiong@gmail.com 87195cf84e Added memory heap object implementation; Added RT_LIST_OBJECT_INIT macro.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2046 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-04-14 03:52:56 +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
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 e7eaf16bf4 fixed object name copy bug; update AT91SAM7S64 branch.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1787 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-11-08 04:06:12 +00:00
dzzxzz 7926109356 cleanup kernel code
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1722 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-09-23 05:57:31 +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
qiuyiuestc@gmail.com cea21370a4 rewrite module memory allocator
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1618 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-07-04 23:48:07 +00:00
bernard.xiong@gmail.com de50381baa because the sethook operation is invoked only in system initialization, the interrupt protect is removed.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1504 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-15 00:12:40 +00:00
bernard.xiong@gmail.com ee68988518 change the RT_DEBUG_NOT_REENT to RT_DEBUG_NOT_IN_INTERRUPT.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1503 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-14 23:59:42 +00:00
mbbill@gmail.com 864bd11802 Add reentrance check. Put kernel debug switch together.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1494 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-12 10:01:48 +00:00