add statistic counters to determine the usage of sys_arch.c

This commit is contained in:
Stefan Lankes 2011-10-13 15:38:49 -07:00
parent 5bb9e2f066
commit 4f534f5732
2 changed files with 46 additions and 15 deletions

View file

@ -101,8 +101,11 @@ sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg,
*/
void sys_sem_free(sys_sem_t* sem)
{
sem->valid = FALSE;
sem_destroy(&sem->sem);
if (BUILTIN_EXPECT(sem != NULL, 1)) {
sem->valid = FALSE;
SYS_STATS_DEC(sem.used);
sem_destroy(&sem->sem);
}
}
/* sys_sem_valid(): returns if semaphore is valid
@ -110,16 +113,29 @@ void sys_sem_free(sys_sem_t* sem)
*/
int sys_sem_valid(sys_sem_t* sem)
{
if (BUILTIN_EXPECT(sem == NULL, 0))
return FALSE;
return sem->valid;
}
/* sys_sem_new(): creates a new semaphre with given count.
* This semaphore becomes valid
*/
err_t sys_sem_new(sys_sem_t* sem, u8_t count)
err_t sys_sem_new(sys_sem_t* s, u8_t count)
{
sem->valid = TRUE;
return sem_init(&sem->sem, count);
int err;
if (BUILTIN_EXPECT(!s, 0))
return ERR_VAL;
err = sem_init(&s->sem, count);
if (err < 0)
return ERR_VAL;
SYS_STATS_INC_USED(sem);
s->valid = TRUE;
return ERR_OK;
}
/* sys_sem_set_invalid(): this semapohore becomes invalid
@ -158,6 +174,8 @@ u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout)
*/
int sys_mbox_valid(sys_mbox_t * mbox)
{
if (BUILTIN_EXPECT(mbox == NULL, 0))
return FALSE;
return mbox->valid;
}
@ -182,8 +200,11 @@ u32_t sys_arch_mbox_fetch(sys_mbox_t * mbox, void **msg, u32_t timeout)
*/
void sys_mbox_free(sys_mbox_t* mbox)
{
mbox->valid = FALSE;
mailbox_ptr_destroy(&mbox->mailbox);
if (BUILTIN_EXPECT(mbox != NULL, 1)) {
mbox->valid = FALSE;
SYS_STATS_DEC(mbox.used);
mailbox_ptr_destroy(&mbox->mailbox);
}
}
/* sys_arch_mbox_tryfetch(): poll for new data in mailbox
@ -192,7 +213,6 @@ void sys_mbox_free(sys_mbox_t* mbox)
u32_t sys_arch_mbox_tryfetch(sys_mbox_t* mbox, void** msg)
{
int ret = mailbox_ptr_tryfetch(&mbox->mailbox, msg);
if (ret)
return SYS_MBOX_EMPTY;
return 0;
@ -201,12 +221,20 @@ u32_t sys_arch_mbox_tryfetch(sys_mbox_t* mbox, void** msg)
/* sys_mbox_new(): create a new mailbox with a minimum size of "size"
*
*/
err_t sys_mbox_new(sys_mbox_t* mbox, int size)
err_t sys_mbox_new(sys_mbox_t* mb, int size)
{
LWIP_DEBUGF(SYS_DEBUG, ("sys_mbox_new: create mailbox with the minimum size: %d\n", size));
int err;
//LWIP_DEBUGF(SYS_DEBUG, ("sys_mbox_new: create mailbox with the minimum size: %d\n", size));
if (BUILTIN_EXPECT(!mb, 0))
return ERR_VAL;
mbox->valid = TRUE;
return mailbox_ptr_init(&mbox->mailbox);
mb->valid = TRUE;
SYS_STATS_INC_USED(mbox);
err = mailbox_ptr_init(&mb->mailbox);
if (err)
return ERR_MEM;
return ERR_OK;
}
/* sys_mbox_set_invalid(): set the given mailbox to invald
@ -261,9 +289,12 @@ void sys_mutex_unlock(sys_mutex_t* mutex)
/* sys_mutex_new(): create a new mutex
*
*/
err_t sys_mutex_new(sys_mutex_t * mutex)
err_t sys_mutex_new(sys_mutex_t * m)
{
sem_init(mutex, 1);
if (BUILTIN_EXPECT(!m, 0))
return ERR_VAL;
SYS_STATS_INC_USED(mutex);
sem_init(m, 1);
return ERR_OK;
}

View file

@ -235,7 +235,7 @@
#define DHCP_DEBUG LWIP_DBG_OFF
#define ETHARP_DEBUG LWIP_DBG_OFF
#define TCPIP_DEBUG LWIP_DBG_OFF
#define SYS_DEBUG LWIP_DBG_OFF
#define SYS_DEBUG LWIP_DBG_ON
#define RAW_DEBUG LWIP_DBG_OFF
#define MEM_DEBUG LWIP_DBG_OFF
#define IP_DEBUG LWIP_DBG_OFF