看代号好象目标前是增加当前核的tick,但是是对imx6q这种四核的话,其他核的线程是不是就不能新tick了?
This function will notify kernel there is one tick passed. Normally, this function is invoked by clock ISR.
*/
void rt_tick_increase(void)
{
struct rt_thread thread;
/ increase the global tick /
#ifdef RT_USING_SMP
rt_cpu_self()->tick ++;
#else
++ rt_tick;
#endif
/ check time slice /
thread = rt_thread_self();
-- thread->remaining_tick;
if (thread->remaining_tick == 0)
{
/ change to initialized tick /
thread->remaining_tick = thread->init_tick;
/ yield /
rt_thread_yield();
}
/ check timer */
rt_timer_check();
} |