load balancing, kmigrate
run queues, sched entities:
cat /proc/sched_debug
# Sched Debug Version: v0.11, 3.13.6 #4
# ktime : 11620320.261793
# sched_clk : 11629180.728702
# cpu_clk : 11629180.728834
# jiffies : 4297797377
# sched_clock_stable : 1
#
# cpu#0, 3077.541 MHz
# .nr_running : 0
# .load : 0
# .nr_switches : 10802526
# .nr_load_updates : 1998334
# .nr_uninterruptible : -2228
# .next_balance : 4297.797394
# .....
# rt_rq[0]:/
# .rt_nr_running : 0
# .rt_throttled : 0
# .rt_time : 0.011064
# .rt_runtime : 950.000000
#
# runnable tasks:
# task PID tree-key switches prio exec-runtime ...
# ------------------------------------------------------------------------ ...
# ksoftirqd/0 3 875652.689495 83449 120 875652.689495 ...
# kworker/0:0H 5 3837.050667 6 100 3837.050667 ...
# rcu_sched 7 875652.806577 388480 120 875652.806577 ...
sudo cat /proc/schedstat
cat /proc/PID/sched
cat /proc/PID/limits
ls /proc/sys/kernel | grep sched
sudo sysctl -A | grep sched
Real time policy (priority 90):
sudo chrt -r -p 90 22336
SCHED_RR implements a round robin methodSCHED_FIFO uses a first in, first out mechanism
schedtool -h
struct thread_info
struct task_struct
struct nsproxy
do_fork()
do_execve()
kernel_thread()
struct sched_class
struct rq
struct sched_entity
scheduler_tick()
context_switch()
struct sched_class fair_sched_class
check_preempt_tick()
struct sched_class rt_sched_class
task_tick_rt()
New in 3.14
Earliest deadline first scheduling
struct sched_class dl_sched_class
task_tick_dl()
find_busiest_queue()
compares rqs load weights
No comments:
Post a Comment