Я искал эти билеты о том же сомнении в отношении времени SCHED_RR в Linux. Но я не могу получить ясный ответ как отсюда, так и от исходного кода ядра. После дополнительной проверки я обнаружил, что ключевой момент «RR_TIMESLICE» является срезом времени по умолчанию в jiffies, а не миллисекундой! Таким образом, временной срез по умолчанию для SCHED_RR всегда равен 100 мс, независимо от того, какой HZ вы настроили.
же, как значение «/ Труды/системы/ядра/sched_rr_timeslice_ms», который входное значение в миллисекунды, но хранить и выход в джиффисах! Итак, когда ваш CONFIG_HZ = 100, вы обнаружите, что:
# echo 100 > /proc/sys/kernel/sched_rr_timeslice_ms
# cat /proc/sys/kernel/sched_rr_timeslice_ms
10
Немного смутно. Надеюсь, это поможет вам это понять!
Однако кажется, что 'rt.h' появился с ядром Linux 3.9. – backlash
Прежде чем ** Linux kernel v3.9 **, определение 'RR_TIMESLICE' было расположено в [include/linux/sched.h] (http://lxr.free-electrons.com/source/include/linux/sched .h? v = 3.8 # L1227). До ** Linux kernel v3.4 ** определение было названо 'DEF_TIMESLICE' и находилось в [kernel/sched/sched.h] (http://lxr.free-electrons.com/source/kernel/sched/ sched.h? v = 3.3 # L43). –
Обратите внимание, что этот ответ касается только потоков, запланированных с приоритетом в реальном времени. RR –