Tracing: LIFO Tracing
Add LIFO tracing hooks, default hooks, and documentation. Signed-off-by: Torbjörn Leksell <torbjorn.leksell@percepio.com>
This commit is contained in:
parent
83ae27bb88
commit
d765445b3b
2 changed files with 92 additions and 4 deletions
|
@ -2300,7 +2300,11 @@ struct k_lifo {
|
||||||
* @return N/A
|
* @return N/A
|
||||||
*/
|
*/
|
||||||
#define k_lifo_init(lifo) \
|
#define k_lifo_init(lifo) \
|
||||||
k_queue_init(&(lifo)->_queue)
|
({ \
|
||||||
|
SYS_PORT_TRACING_OBJ_FUNC_ENTER(k_lifo, init, lifo); \
|
||||||
|
k_queue_init(&(lifo)->_queue); \
|
||||||
|
SYS_PORT_TRACING_OBJ_FUNC_EXIT(k_lifo, init, lifo); \
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Add an element to a LIFO queue.
|
* @brief Add an element to a LIFO queue.
|
||||||
|
@ -2317,7 +2321,11 @@ struct k_lifo {
|
||||||
* @return N/A
|
* @return N/A
|
||||||
*/
|
*/
|
||||||
#define k_lifo_put(lifo, data) \
|
#define k_lifo_put(lifo, data) \
|
||||||
k_queue_prepend(&(lifo)->_queue, data)
|
({ \
|
||||||
|
SYS_PORT_TRACING_OBJ_FUNC_ENTER(k_lifo, put, lifo, data); \
|
||||||
|
k_queue_prepend(&(lifo)->_queue, data); \
|
||||||
|
SYS_PORT_TRACING_OBJ_FUNC_EXIT(k_lifo, put, lifo, data); \
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Add an element to a LIFO queue.
|
* @brief Add an element to a LIFO queue.
|
||||||
|
@ -2336,7 +2344,12 @@ struct k_lifo {
|
||||||
* @retval -ENOMEM if there isn't sufficient RAM in the caller's resource pool
|
* @retval -ENOMEM if there isn't sufficient RAM in the caller's resource pool
|
||||||
*/
|
*/
|
||||||
#define k_lifo_alloc_put(lifo, data) \
|
#define k_lifo_alloc_put(lifo, data) \
|
||||||
k_queue_alloc_prepend(&(lifo)->_queue, data)
|
({ \
|
||||||
|
SYS_PORT_TRACING_OBJ_FUNC_ENTER(k_lifo, alloc_put, lifo, data); \
|
||||||
|
int ret = k_queue_alloc_prepend(&(lifo)->_queue, data); \
|
||||||
|
SYS_PORT_TRACING_OBJ_FUNC_EXIT(k_lifo, alloc_put, lifo, data, ret); \
|
||||||
|
ret; \
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get an element from a LIFO queue.
|
* @brief Get an element from a LIFO queue.
|
||||||
|
@ -2356,7 +2369,12 @@ struct k_lifo {
|
||||||
* without waiting, or waiting period timed out.
|
* without waiting, or waiting period timed out.
|
||||||
*/
|
*/
|
||||||
#define k_lifo_get(lifo, timeout) \
|
#define k_lifo_get(lifo, timeout) \
|
||||||
k_queue_get(&(lifo)->_queue, timeout)
|
({ \
|
||||||
|
SYS_PORT_TRACING_OBJ_FUNC_ENTER(k_lifo, get, lifo, timeout); \
|
||||||
|
void *ret = k_queue_get(&(lifo)->_queue, timeout); \
|
||||||
|
SYS_PORT_TRACING_OBJ_FUNC_EXIT(k_lifo, get, lifo, timeout, ret); \
|
||||||
|
ret; \
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Statically define and initialize a LIFO queue.
|
* @brief Statically define and initialize a LIFO queue.
|
||||||
|
|
|
@ -839,6 +839,76 @@
|
||||||
*/ /* end of fifo_tracing_apis */
|
*/ /* end of fifo_tracing_apis */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief LIFO Tracing APIs
|
||||||
|
* @defgroup lifo_tracing_apis LIFO Tracing APIs
|
||||||
|
* @ingroup tracing_apis
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Trace initialization of LIFO Queue entry
|
||||||
|
* @param lifo LIFO object
|
||||||
|
*/
|
||||||
|
#define sys_port_trace_k_lifo_init_enter(lifo)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Trace initialization of LIFO Queue exit
|
||||||
|
* @param lifo LIFO object
|
||||||
|
*/
|
||||||
|
#define sys_port_trace_k_lifo_init_exit(lifo)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Trace LIFO Queue put entry
|
||||||
|
* @param lifo LIFO object
|
||||||
|
* @param data Data item
|
||||||
|
*/
|
||||||
|
#define sys_port_trace_k_lifo_put_enter(lifo, data)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Trace LIFO Queue put exit
|
||||||
|
* @param lifo LIFO object
|
||||||
|
* @param data Data item
|
||||||
|
*/
|
||||||
|
#define sys_port_trace_k_lifo_put_exit(lifo, data)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Trace LIFO Queue alloc put entry
|
||||||
|
* @param lifo LIFO object
|
||||||
|
* @param data Data item
|
||||||
|
*/
|
||||||
|
#define sys_port_trace_k_lifo_alloc_put_enter(lifo, data)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Trace LIFO Queue alloc put exit
|
||||||
|
* @param lifo LIFO object
|
||||||
|
* @param data Data item
|
||||||
|
* @param ret Return value
|
||||||
|
*/
|
||||||
|
#define sys_port_trace_k_lifo_alloc_put_exit(lifo, data, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Trace LIFO Queue get entry
|
||||||
|
* @param lifo LIFO object
|
||||||
|
* @param timeout Timeout period
|
||||||
|
*/
|
||||||
|
#define sys_port_trace_k_lifo_get_enter(lifo, timeout)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Trace LIFO Queue get exit
|
||||||
|
* @param lifo LIFO object
|
||||||
|
* @param timeout Timeout period
|
||||||
|
* @param ret Return value
|
||||||
|
*/
|
||||||
|
#define sys_port_trace_k_lifo_get_exit(lifo, timeout, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/ /* end of lifo_tracing_apis */
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue