Ho cercato su Google questo ticket circa lo stesso dubbio sulla porzione di tempo di SCHED_RR. Ma non riesco a ottenere una risposta chiara sia da qui che dal codice sorgente del kernel. Dopo ulteriori controlli, ho trovato che il punto chiave è "RR_TIMESLICE" è la sezione temporale predefinita in jiffies, non millisecondo! Pertanto, la fascia oraria predefinita di SCHED_RR è sempre di 100 ms, indipendentemente dal tipo di HZ configurato.
uguale al valore di "/ proc/sys/kernel/sched_rr_timeslice_ms", quale valore di ingresso in millisecondo, ma archiviare e generare in jiffies! Quindi, quando CONFIG_HZ = 100, troverai:
# echo 100 > /proc/sys/kernel/sched_rr_timeslice_ms
# cat /proc/sys/kernel/sched_rr_timeslice_ms
10
È un po 'confuso. Spero che questo possa aiutarti a capirlo!
Tuttavia sembra che 'rt.h' sia apparso con il kernel Linux 3.9. – backlash
Prima ** del kernel Linux v3.9 **, la definizione di 'RR_TIMESLICE' si trovava in [include/linux/sched.h] (http://lxr.free-electrons.com/source/include/linux/sched .h? v = 3,8 # L1227). Prima ** del kernel Linux v3.4 **, la definizione era chiamata 'DEF_TIMESLICE' e si trovava in [kernel/sched/sched.h] (http://lxr.free-electrons.com/source/kernel/sched/ sched.h? v = 3,3 # L43). –
Si noti che questa risposta riguarda solo i thread programmati con priorità in tempo reale RR –