Commit Graph

52 Commits

Author SHA1 Message Date
guo 4562ae1246
[kernel] Revert modifications to the semaphore (#5682) 2022-03-17 14:48:14 +08:00
guozhanxin 615824b5e3 [fix] memheap using assertions before scheduler starts. 2022-02-10 10:22:08 +08:00
tangyuxin 09f439bcc2 [memheap] Fix 64 bit potential risk 2022-01-08 15:50:14 +08: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
zhouji ee1e85455a [update] 使用memheap内存管理算法时,对rt_system_heap_init传入的地址进行对齐。 2021-12-14 06:16:59 +08:00
zhouji 3327ffaa15 [update] 使用memheap内存管理时,rt_malloc 0长度返回RT_NULL, 与slab与小内存管理等算法保持一致。 2021-12-14 06:16:59 +08:00
Bernard Xiong 173913b96e
Merge pull request #4872 from aozima/aozima_memheap_develop
优化memheap内存管理:1.自动多块粘合可配置;
2021-09-27 14:16:17 +08:00
liukangcc d99737d8a9 [update] functions annotation. 2021-09-18 16:56:44 +08:00
aozima 2e5b4736fe [kernel] update memheap auto binding policy. 2021-09-18 10:12:33 +08:00
yangjie fe5d506ef2 【增加】memheap.c 2021-09-13 16:20:31 +08:00
Meco Man 1997113fbc FINSH_USING_BUILT_IN_COMMANDS改MSH_USING_BUILT_IN_COMMANDS 2021-08-28 16:48:08 -04:00
Meco Man 29828dc94f [finsh] finsh组件可以选择是否包含内置命令 2021-08-25 19:48:15 -04:00
GuEe-GUI b7dd004de0 [bsp/virt64/aarch64] Add 'qemu-virt64-aarch64' bsp 2021-08-06 18:35:58 +08:00
guo b24447a60a
Merge pull request #4785 from mysterywolf/endif
[kernel] 补充endif后缀注释
2021-06-13 09:39:52 +08:00
Bernard Xiong 2be1cb420f
Merge pull request #4788 from yangjie11/memheap
[src] add RT_WEAK for rt_malloc_align,rt_free_align
2021-06-12 11:56:52 +08:00
yangjie fa1f1ef485 [src] add RT_WEAK for rt_malloc_align,rt_free_align 2021-06-11 10:00:23 +08:00
Meco Man 8b53609f57 [kernel] 补充endif后缀注释(3) 2021-06-10 18:39:43 +08:00
Meco Man b2dd3f00f0 [bug][kernel][heap] 将内存堆保护机制由FIFO改为PRIO 2021-06-07 16:45:39 +08:00
guozhanxin 51ec75f71d [update]format memheap.c 2021-06-03 15:15:18 +08:00
guozhanxin 8e8ae9c951 [src][memheap] Fix the crash problem after opening Oz optimization on ac6. 2021-06-03 15:02:00 +08:00
Bernard Xiong 4a0855c276
Merge pull request #4359 from willianchanlovegithub/Willianchan
[kernel][memheap]add memory heap track and memory heap check.
2021-03-15 09:25:53 +08:00
Meco Man 678306d300 [kernel]auto formatted 2021-03-08 11:25:38 +08:00
cliff-cmc eea0c3d74a Add memtrace command for memheap.c 2021-02-26 11:45:19 +08:00
WillianChan 4b4ab15602 [kernel][memheap]rename memtrace to memheaptrace
Signed-off-by: WillianChan <chentingwei@rt-thread.com>
2021-02-20 16:19:00 +08:00
WillianChan e94d907056 [kernel][memheap]fix RT_DEBUG_LOG errors.
Signed-off-by: WillianChan <chentingwei@rt-thread.com>
2021-02-20 15:53:21 +08:00
WillianChan 114f305f77 [kernel][memheap]add memory heap track and memory heap check.
Signed-off-by: WillianChan <chentingwei@rt-thread.com>
2021-02-20 15:35:45 +08:00
unknown b71a0eb1d4 add rt_memory_info() for memheap.c 2020-12-25 15:06:55 +08:00
minghao_wang b9a186952c fix bug of rt_memheap_detach 2020-11-16 15:10:22 +08:00
Bernard Xiong 1f37de29c4 Fix the value width issue under 32/64 bit arch. 2018-12-13 14:54:26 +08:00
Bernard Xiong 484afe9d2c [Kernel] Add 64bit CPU support. 2018-10-26 06:35:42 +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
liang yongxiang 0509af9319 [kernel] add assert to memheap object 2018-07-11 18:02:25 +08:00
liang yongxiang b09445cbfe [Kernel][memheap] fix rt_realloc bugs
- missing free old memory after malloc new
- free memory when new size is zero
2018-03-28 10:19:32 +08:00
Bernard Xiong 2f409c85f1 [Kernel] Use rt_object_get_information to get object chain 2017-12-12 07:36:37 +08:00
emlslxl e521decf2e 根据documentation/coding_style_cn.txt约定 对内核src和include目录下的文件代码进行格式化 2017-09-15 11:02:24 +08:00
Grissiom 2d3b2f1e94 memheap: check the USED bit in rt_memheap_free
This will ease the debugging of double-free bug.
2015-04-08 16:39:50 +08:00
Grissiom f8c171d5ad memheap: check against over written in rt_memheap_free 2015-01-16 11:41:20 +08:00
Grissiom c3a39444da memheap: dont alloc/memcpy when there is next node is enough for realloc
When realloc a bigger space and the next node is free and big enough, we
should directly relocate the next node instead of doing alloc/memcpy.
The new method not only faster in this cases, it would avoid memory
fragment as well.
2013-07-15 11:47:55 +08:00
Bernard Xiong 2c33678aac fix the memory block splitting issue 2013-07-11 16:20:28 +08:00
yiyue.fang 86db9ed965 reformat the coding style
convert Tabs to spaces
2013-06-29 10:00:14 +08:00
Bernard Xiong 79392bb082 Embedded GPLv2 license. 2013-06-24 17:06:09 +08:00
Bernard Xiong d80a471680 Fix the memheap_realloc issue 2013-06-03 06:44:35 +08:00
Bernard Xiong 608bf2cb3d add rt_memheap_realloc function 2013-04-17 22:09:48 +08:00
dzzxzz@gmail.com 965c25d3a4 fixed the coding style in memheap.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2569 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-30 16:11:12 +00: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 dc5a16861a fixed coding style in src/memheap.c
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2524 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-25 08:35:19 +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 1c425607c3 fixed mutex issue in memheap; fixed compiling issue in kservice.c when COMPILER is not defined; add finsh for win32 porting.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2365 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-22 03:12:21 +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 43f2bfc013 add a new command list_memheap() into finsh
and unify the coding style in memheap.c

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2151 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-06-03 06:16:30 +00:00