diff options
author | Jennifer Averett <Jennifer.Averett@OARcorp.com> | 2005-05-13 17:11:42 +0000 |
---|---|---|
committer | Jennifer Averett <Jennifer.Averett@OARcorp.com> | 2005-05-13 17:11:42 +0000 |
commit | 41ef1360594878b4cdb211b7d25c7d6da34f4409 (patch) | |
tree | 2701b4376ca41666c63017c759a81883a3022a4a | |
parent | 2005-05-13 Jennifer Averett <jennifer.averett@oarcorp.com> (diff) | |
download | rtems-41ef1360594878b4cdb211b7d25c7d6da34f4409.tar.bz2 |
2005-05-13 Jennifer Averett <jennifer.averett@oarcorp.com>
PR 786/rtems
Backport mallocfreespace optimization.
* Makefile.am, include/rtems/rtems/region.h:
* src/regiongetfreeinfo.c: New file.
-rw-r--r-- | cpukit/rtems/ChangeLog | 7 | ||||
-rw-r--r-- | cpukit/rtems/Makefile.am | 2 | ||||
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/region.h | 17 | ||||
-rw-r--r-- | cpukit/rtems/src/regiongetfreeinfo.c | 20 |
4 files changed, 33 insertions, 13 deletions
diff --git a/cpukit/rtems/ChangeLog b/cpukit/rtems/ChangeLog index cc58bf5b38..fde6efd0f5 100644 --- a/cpukit/rtems/ChangeLog +++ b/cpukit/rtems/ChangeLog @@ -1,3 +1,10 @@ +2005-05-13 Jennifer Averett <jennifer.averett@oarcorp.com> + + PR 786/rtems + Backport mallocfreespace optimization. + * Makefile.am, include/rtems/rtems/region.h: + * src/regiongetfreeinfo.c: New file. + 2005-03-17 Joel Sherrill <joel@OARcorp.com> PR 692/rtems diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am index 2b1d46dba5..f598e6813a 100644 --- a/cpukit/rtems/Makefile.am +++ b/cpukit/rtems/Makefile.am @@ -118,7 +118,7 @@ SIGNAL_C_FILES = src/signal.c src/signalcatch.c src/signalsend.c REGION_C_FILES = src/region.c src/regioncreate.c src/regiondelete.c src/regionextend.c \ src/regiongetsegment.c src/regiongetsegmentsize.c src/regionident.c \ - src/regionreturnsegment.c src/regiongetinfo.c + src/regionreturnsegment.c src/regiongetinfo.c src/regiongetfreeinfo.c PARTITION_C_FILES = src/part.c src/partcreate.c src/partdelete.c src/partgetbuffer.c \ src/partident.c src/partreturnbuffer.c diff --git a/cpukit/rtems/include/rtems/rtems/region.h b/cpukit/rtems/include/rtems/rtems/region.h index 1cba5f326e..6399982429 100644 --- a/cpukit/rtems/include/rtems/rtems/region.h +++ b/cpukit/rtems/include/rtems/rtems/region.h @@ -29,6 +29,8 @@ extern "C" { #endif +#include <stddef.h> + #include <rtems/score/object.h> #include <rtems/score/threadq.h> #include <rtems/score/heap.h> @@ -144,6 +146,21 @@ rtems_status_code rtems_region_get_information( ); /* + * rtems_region_get_free_information + * + * DESCRIPTION: + * + * This routine implements the rtems_region_get_free_information directive. + * This directive returns information about the free blocks in the + * heap associated with this region. + */ + +rtems_status_code rtems_region_get_free_information( + Objects_Id id, + Heap_Information *the_info +); + +/* * rtems_region_delete * * DESCRIPTION: diff --git a/cpukit/rtems/src/regiongetfreeinfo.c b/cpukit/rtems/src/regiongetfreeinfo.c index 153f965d8c..fdc72774f2 100644 --- a/cpukit/rtems/src/regiongetfreeinfo.c +++ b/cpukit/rtems/src/regiongetfreeinfo.c @@ -12,10 +12,6 @@ * $Id$ */ -#if HAVE_CONFIG_H -#include "config.h" -#endif - #include <rtems/system.h> #include <rtems/rtems/status.h> #include <rtems/rtems/support.h> @@ -39,14 +35,14 @@ * the_info - pointer to region information block * * Output parameters: - * *the_info - region information block filled in + * *the_info - region information block filled in * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful + * error code - if unsuccessful */ rtems_status_code rtems_region_get_free_information( - Objects_Id id, - Heap_Information_block *the_info + Objects_Id id, + Heap_Information *the_info ) { register Region_Control *the_region; @@ -68,11 +64,11 @@ rtems_status_code rtems_region_get_free_information( case OBJECTS_LOCAL: - the_info->Used.number = 0; - the_info->Used.total = 0; - the_info->Used.largest = 0; + the_info->number = 0; + the_info->total = 0; + the_info->largest = 0; - _Heap_Get_free_information( &the_region->Memory, &the_info->Free ); + _Heap_Get_free_information( &the_region->Memory, the_info ); _RTEMS_Unlock_allocator(); return RTEMS_SUCCESSFUL; |