去除scheduler.c的_get_highest_priority_thread函数中重复判断

This commit is contained in:
shaojinchun 2019-05-11 13:50:34 +08:00
parent 8d59983427
commit 8dd2a07d45
1 changed files with 0 additions and 9 deletions

View File

@ -130,16 +130,7 @@ static struct rt_thread* _get_highest_priority_thread(rt_ubase_t *highest_prio)
struct rt_cpu* pcpu = rt_cpu_self(); struct rt_cpu* pcpu = rt_cpu_self();
#if RT_THREAD_PRIORITY_MAX > 32 #if RT_THREAD_PRIORITY_MAX > 32
register rt_ubase_t number; register rt_ubase_t number;
#endif
if (rt_thread_ready_priority_group == 0 && pcpu->priority_group == 0)
{
*highest_prio = pcpu->current_thread->current_priority;
/* only local IDLE is readly */
return pcpu->current_thread;
}
#if RT_THREAD_PRIORITY_MAX > 32
number = __rt_ffs(rt_thread_ready_priority_group) - 1; number = __rt_ffs(rt_thread_ready_priority_group) - 1;
highest_ready_priority = (number << 3) + __rt_ffs(rt_thread_ready_table[number]) - 1; highest_ready_priority = (number << 3) + __rt_ffs(rt_thread_ready_table[number]) - 1;
number = __rt_ffs(pcpu->priority_group) - 1; number = __rt_ffs(pcpu->priority_group) - 1;