文章目录
1、初始化带宽 init_rt_bandwidth
rt_runtime : 一个时间周期内的运行时间,超过则限流,默认值为0.95ms
- 1、init_rt_bandwidth函数在创建分配RT任务组的时候调用,
- 将rt_bandwidth结构体的相关字段进行初始化:
- 设置好时间周期rt_period和运行时间限制rt_runtime,都设置成默认值;
- 2、在enqueue_rt_entity将RT调度实体入列时,最终触发start_rt_bandwidth函数执行
- 当高精度定时器到期时调用do_sched_rt_period_timer函数;
- 3、do_sched_rt_period_timer函数,会去判断该RT运行队列的累计运行时间rt_time与设置的限制运行时间rt_runtime之间的大小关系,以确定是否限流的操作。
- 如果已经进行了限流操作,会调用balance_time来在多个CPU之间进行