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_infostruct task_structstruct nsproxydo_fork()do_execve()kernel_thread()struct sched_classstruct rqstruct sched_entityscheduler_tick()context_switch()struct sched_class fair_sched_classcheck_preempt_tick()struct sched_class rt_sched_classtask_tick_rt()New in 3.14
Earliest deadline first scheduling
struct sched_class dl_sched_classtask_tick_dl()find_busiest_queue() compares rqs load weights
No comments:
Post a Comment