[ktime] quality: remove recursion on hrtimer (#9110)
[ktime] feat: remove recursion on hrtimer Replace recursive algorithm with a loop in hrtimer when determining next timeout event and setup hr timer. Signed-off-by: Shell <smokewood@qq.com>
This commit is contained in:
parent
b79d5013ff
commit
3d8c27bcc9
|
@ -146,7 +146,11 @@ static void _set_next_timeout_locked(void)
|
|||
{
|
||||
rt_ktime_hrtimer_t timer;
|
||||
rt_ubase_t next_timeout_hrtimer_cnt;
|
||||
rt_bool_t find_next;
|
||||
|
||||
do
|
||||
{
|
||||
find_next = RT_FALSE;
|
||||
if ((timer = _first_hrtimer()) != RT_NULL)
|
||||
{
|
||||
next_timeout_hrtimer_cnt = _cnt_convert(timer->timeout_cnt);
|
||||
|
@ -157,9 +161,11 @@ static void _set_next_timeout_locked(void)
|
|||
else
|
||||
{
|
||||
_hrtimer_process_locked();
|
||||
_set_next_timeout_locked();
|
||||
find_next = RT_TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
while (find_next);
|
||||
}
|
||||
|
||||
void rt_ktime_hrtimer_process(void)
|
||||
|
|
Loading…
Reference in New Issue