mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-09-21 10:36:04 +08:00
🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)
Signed-off-by: Shell <smokewood@qq.com> Co-authored-by: Shell <smokewood@qq.com>
This commit is contained in:
@@ -22,6 +22,7 @@ struct rt_completion
|
||||
|
||||
/* suspended list */
|
||||
rt_list_t suspended_list;
|
||||
struct rt_spinlock spinlock;
|
||||
};
|
||||
|
||||
void rt_completion_init(struct rt_completion *completion);
|
||||
|
||||
@@ -33,6 +33,7 @@ struct rt_data_queue
|
||||
rt_uint16_t is_full : 1;
|
||||
|
||||
struct rt_data_item *queue;
|
||||
struct rt_spinlock spinlock;
|
||||
|
||||
rt_list_t suspended_push_list;
|
||||
rt_list_t suspended_pop_list;
|
||||
|
||||
@@ -78,6 +78,7 @@ struct rt_rbb
|
||||
rt_slist_t *tail;
|
||||
/* free node list */
|
||||
rt_slist_t free_list;
|
||||
struct rt_spinlock spinlock;
|
||||
};
|
||||
typedef struct rt_rbb *rt_rbb_t;
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ struct rt_wqueue_node
|
||||
rt_thread_t polling_thread;
|
||||
rt_list_t list;
|
||||
|
||||
rt_wqueue_t *wqueue;
|
||||
rt_wqueue_func_t wakeup;
|
||||
rt_uint32_t key;
|
||||
};
|
||||
@@ -39,6 +40,7 @@ rt_inline void rt_wqueue_init(rt_wqueue_t *queue)
|
||||
|
||||
queue->flag = RT_WQ_FLAG_CLEAN;
|
||||
rt_list_init(&(queue->waiting_list));
|
||||
rt_spin_lock_init(&(queue->spinlock));
|
||||
}
|
||||
|
||||
void rt_wqueue_add(rt_wqueue_t *queue, struct rt_wqueue_node *node);
|
||||
|
||||
@@ -41,6 +41,7 @@ struct rt_workqueue
|
||||
|
||||
struct rt_semaphore sem;
|
||||
rt_thread_t work_thread;
|
||||
struct rt_spinlock spinlock;
|
||||
};
|
||||
|
||||
struct rt_work
|
||||
|
||||
Reference in New Issue
Block a user