打印
[第三方配套工具]

rt_tick_increase() 在SMP时只增加当前核的TICK?

[复制链接]
209|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2023-4-24 14:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看代号好象目标前是增加当前核的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();
}

使用特权

评论回复
沙发
Bowclad| | 2023-5-8 23:45 | 只看该作者
OS tick计数,整个系统只有一个的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1327

主题

3832

帖子

0

粉丝