summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJennifer Averett <Jennifer.Averett@OARcorp.com>2005-05-13 17:11:42 +0000
committerJennifer Averett <Jennifer.Averett@OARcorp.com>2005-05-13 17:11:42 +0000
commit41ef1360594878b4cdb211b7d25c7d6da34f4409 (patch)
tree2701b4376ca41666c63017c759a81883a3022a4a
parent2005-05-13 Jennifer Averett <jennifer.averett@oarcorp.com> (diff)
downloadrtems-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/ChangeLog7
-rw-r--r--cpukit/rtems/Makefile.am2
-rw-r--r--cpukit/rtems/include/rtems/rtems/region.h17
-rw-r--r--cpukit/rtems/src/regiongetfreeinfo.c20
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;