kernel/timeout: Remove timeout wait_q field
Per previous patch, this is known to be identical with thread->pended_on. Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This commit is contained in:
parent
15d520819d
commit
d61b1f8ef8
3 changed files with 3 additions and 14 deletions
|
@ -1331,7 +1331,6 @@ struct k_timer {
|
||||||
#define _K_TIMER_INITIALIZER(obj, expiry, stop) \
|
#define _K_TIMER_INITIALIZER(obj, expiry, stop) \
|
||||||
{ \
|
{ \
|
||||||
.timeout.delta_ticks_from_prev = _INACTIVE, \
|
.timeout.delta_ticks_from_prev = _INACTIVE, \
|
||||||
.timeout.wait_q = NULL, \
|
|
||||||
.timeout.thread = NULL, \
|
.timeout.thread = NULL, \
|
||||||
.timeout.func = _timer_expiration_handler, \
|
.timeout.func = _timer_expiration_handler, \
|
||||||
.wait_q = _WAIT_Q_INIT(&obj.wait_q), \
|
.wait_q = _WAIT_Q_INIT(&obj.wait_q), \
|
||||||
|
|
|
@ -216,7 +216,6 @@ typedef void (*_timeout_func_t)(struct _timeout *t);
|
||||||
struct _timeout {
|
struct _timeout {
|
||||||
sys_dnode_t node;
|
sys_dnode_t node;
|
||||||
struct k_thread *thread;
|
struct k_thread *thread;
|
||||||
sys_dlist_t *wait_q;
|
|
||||||
s32_t delta_ticks_from_prev;
|
s32_t delta_ticks_from_prev;
|
||||||
_timeout_func_t func;
|
_timeout_func_t func;
|
||||||
};
|
};
|
||||||
|
|
|
@ -331,12 +331,6 @@ void _init_timeout(struct _timeout *t, _timeout_func_t func)
|
||||||
*/
|
*/
|
||||||
t->delta_ticks_from_prev = _INACTIVE;
|
t->delta_ticks_from_prev = _INACTIVE;
|
||||||
|
|
||||||
/*
|
|
||||||
* Must be initialized here so that k_wakeup can
|
|
||||||
* verify the thread is not on a wait queue before aborting a timeout.
|
|
||||||
*/
|
|
||||||
t->wait_q = NULL;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Must be initialized here, so the _handle_one_timeout()
|
* Must be initialized here, so the _handle_one_timeout()
|
||||||
* routine can check if there is a thread waiting on this timeout
|
* routine can check if there is a thread waiting on this timeout
|
||||||
|
@ -366,10 +360,8 @@ void _init_thread_timeout(struct _thread_base *thread_base)
|
||||||
static inline void _unpend_thread_timing_out(struct k_thread *thread,
|
static inline void _unpend_thread_timing_out(struct k_thread *thread,
|
||||||
struct _timeout *timeout_obj)
|
struct _timeout *timeout_obj)
|
||||||
{
|
{
|
||||||
__ASSERT(thread->base.pended_on == (void*)timeout_obj->wait_q, "");
|
if (thread->base.pended_on) {
|
||||||
if (timeout_obj->wait_q) {
|
|
||||||
_unpend_thread_no_timeout(thread);
|
_unpend_thread_no_timeout(thread);
|
||||||
thread->base.timeout.wait_q = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -448,11 +440,11 @@ static inline void _dump_timeout(struct _timeout *timeout, int extra_tab)
|
||||||
char *tab = extra_tab ? "\t" : "";
|
char *tab = extra_tab ? "\t" : "";
|
||||||
|
|
||||||
K_DEBUG("%stimeout %p, prev: %p, next: %p\n"
|
K_DEBUG("%stimeout %p, prev: %p, next: %p\n"
|
||||||
"%s\tthread: %p, wait_q: %p\n"
|
"%s\tthread: %p\n"
|
||||||
"%s\tticks remaining: %d\n"
|
"%s\tticks remaining: %d\n"
|
||||||
"%s\tfunction: %p\n",
|
"%s\tfunction: %p\n",
|
||||||
tab, timeout, timeout->node.prev, timeout->node.next,
|
tab, timeout, timeout->node.prev, timeout->node.next,
|
||||||
tab, timeout->thread, timeout->wait_q,
|
tab, timeout->thread,
|
||||||
tab, timeout->delta_ticks_from_prev,
|
tab, timeout->delta_ticks_from_prev,
|
||||||
tab, timeout->func);
|
tab, timeout->func);
|
||||||
#endif
|
#endif
|
||||||
|
@ -510,7 +502,6 @@ void _add_timeout(struct k_thread *thread, struct _timeout *timeout,
|
||||||
|
|
||||||
timeout->delta_ticks_from_prev = timeout_in_ticks;
|
timeout->delta_ticks_from_prev = timeout_in_ticks;
|
||||||
timeout->thread = thread;
|
timeout->thread = thread;
|
||||||
timeout->wait_q = (sys_dlist_t *)wait_q;
|
|
||||||
|
|
||||||
K_DEBUG("before adding timeout %p\n", timeout);
|
K_DEBUG("before adding timeout %p\n", timeout);
|
||||||
_dump_timeout(timeout, 0);
|
_dump_timeout(timeout, 0);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue