Je développe un logiciel en temps réel qui fonctionnera sous Linux avec le patch PREEMPT_RT
. Bien que cela me permette d'obtenir des performances en temps réel en utilisant les planificateurs en temps réel Linux (SCHED_RR
ou SCHED_FIFO
), je ne suis pas sûr des valeurs de priorité que je devrais utiliser pour mes threads. Sur mon système, quand je regarde les priorités que je voir (ne montrant que les processus avec RTPRIO
):Comment choisir la priorité thread/processus en temps réel Linux?
$ ps -e -o cmd,pri,rtprio
CMD PRI RTPRIO
[sirq-high/0] 89 49
[sirq-timer/0] 89 49
[sirq-net-tx/0] 89 49
[sirq-net-rx/0] 89 49
[sirq-block/0] 89 49
[sirq-block-iopo] 89 49
[sirq-tasklet/0] 89 49
[sirq-sched/0] 89 49
[sirq-hrtimer/0] 89 49
[sirq-rcu/0] 89 49
[posixcputmr/0] 139 99
[events/0] 41 1
[irq/17-systemac] 90 50
[irq/19-watchdog] 90 50
[irq/18-eth0] 90 50
[irq/16-serial] 90 50
J'ai deux questions:
- Quels sont tous ces
sirq
,irq
,posixcputmr
tâches? Kernel threads? - À quelle priorité dois-je faire fonctionner mon logiciel? Dois-je utiliser une priorité plus élevée que la plupart de ces threads système (> 50 ou même 99) ou moins (< 49)?
Parfait. Merci pour la référence! – dinkelk