From 4bdc6a0ad3a0765bacab0d1104eb733eee03ca7d Mon Sep 17 00:00:00 2001 From: Stephen Roderick Date: Tue, 25 Feb 2014 09:43:43 -0500 Subject: [PATCH 2/3] tlsf: Add default memory pool statistic functions Without these statistics on the default memory pool are not available, as the pointer to the default memory pool ("mp") is not externally exposed. --- rtt/os/tlsf/tlsf.c | 24 ++++++++++++++++++++++++ rtt/os/tlsf/tlsf.h | 2 ++ 2 files changed, 26 insertions(+) diff --git a/rtt/os/tlsf/tlsf.c b/rtt/os/tlsf/tlsf.c index f5926b0..0fc5286 100644 --- a/rtt/os/tlsf/tlsf.c +++ b/rtt/os/tlsf/tlsf.c @@ -586,6 +586,18 @@ size_t get_used_size(void *mem_pool) } /******************************************************************/ +// use default memory pool +size_t get_used_size_mp() +{ +/******************************************************************/ +#if TLSF_STATISTIC + return (mp ? ((tlsf_t *) mp)->used_size : 0); +#else + return 0; +#endif +} + +/******************************************************************/ size_t get_max_size(void *mem_pool) { /******************************************************************/ @@ -597,6 +609,18 @@ size_t get_max_size(void *mem_pool) } /******************************************************************/ +// use default memory pool +size_t get_max_size_mp() +{ +/******************************************************************/ +#if TLSF_STATISTIC + return (mp ? ((tlsf_t *) mp)->max_size : 0); +#else + return 0; +#endif +} + +/******************************************************************/ void destroy_memory_pool(void *mem_pool) { /******************************************************************/ diff --git a/rtt/os/tlsf/tlsf.h b/rtt/os/tlsf/tlsf.h index f58a914..a31f232 100644 --- a/rtt/os/tlsf/tlsf.h +++ b/rtt/os/tlsf/tlsf.h @@ -35,7 +35,9 @@ extern "C" { #ifdef ORO_MEMORY_POOL extern size_t init_memory_pool(size_t, void *); extern size_t get_used_size(void *); +extern size_t get_used_size_mp(); extern size_t get_max_size(void *); +extern size_t get_max_size_mp(); extern void destroy_memory_pool(void *); extern size_t add_new_area(void *, size_t, void *); extern void *malloc_ex(size_t, void *); -- 1.8.2.3