sched tmp

Posted aspirs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sched tmp相关的知识,希望对你有一定的参考价值。

. sched info
cat /proc/sched_debug
cat /proc/schedstat
sysctl:
/proc/sys/kernel/sched_*
sched_child_runs_first sched_rt_period_us
sched_domain/ sched_rt_runtime_us
sched_energy_aware sched_schedstats
sched_latency_ns sched_tunable_scaling
sched_migration_cost_ns sched_util_clamp_max
sched_min_granularity_ns sched_util_clamp_min
sched_nr_migrate sched_util_clamp_min_rt_default
sched_rr_timeslice_ms sched_wakeup_granularity_ns

/proc/pid/sched
/proc/pid/schedstat

 

线程调度策略SCHED_RR(轮转法)和SCHED_FIFO(先进先出)之对照

我们在用pthread创建线程时,能够指定调度策略policy——SCHED_OTHER(默认)、SCHED_RR和SCHED_FIFO。这里TALK一下两个实时策略——SCHED_RR和SCHED_FIFO。

先看一下效果。我们创建了四个子线程,指定最高优先级(针对特定策略):

  • SCHED_RR
技术分享

  • SCHED_FIFO
技术分享

对同样优先级的任务。SCHED_RR是分配给每一个任务一个特定的时间片,然后轮转依次运行。而SCHED_FIFO则是让一个任务运行完再调度下一个任务,而顺序就是依照创建的先后。

SCHED_RR是依据时间片来调度线程的,当时间片用完时,无论这个线程优先级有多高,都不会在执行,而是进入就绪队列,等待下一个时间片到来。只是图1显示,在thread5798时间片用完时,该线程紧接着进行了一次抢占preemption。又获得了一个时间片。顺便提一句时间片长度的定位是linux凭经验来的。即选择尽可能长、同一时候能保持良好对应时间的一个时间片。





以上是关于sched tmp的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核调度器 ⑨ ( Linux 内核调度策略 | SCHED_NORMAL 策略 | SCHED_FIFO 策略 | SCHED_NORMAL 策略 | SCHED_BATCH策略 )

linux进程/线程调度策略(SCHED_OTHER,SCHED_FIFO,SCHED_RR)

线程调度策略SCHED_RR(轮转法)和SCHED_FIFO(先进先出)之对照

SCHED_OTHER/SCHED_FIFO 的 pthread sched_get_priority_min/max 实现

如何分析 perf sched 脚本和 perf sched 延迟?

SCHED_FIFO 高优先级线程被 SCHED_FIFO 低优先级线程抢占?