Ionice fonctionne-t-il avec le planificateur d'échéances?

13

Mes systèmes Debian Wheezy utilisent le deadlineplanificateur. Je suis habitué à utiliser ionicepour replanifier la priorité d'E / S des travaux gourmands en disque aux heures de pointe, et cela semble anecdotique (mais je n'ai aucune preuve tangible).

La ionicepage de manuel , la documentation du noyau et ce document OpenSUSE suggèrent tous que seul le cfqplanificateur prend en compte les ioniceinterventions. Ils n'indiquent pas explicitement que d'autres planificateurs l'ignorent, mais le seul qu'ils mentionnent est cfq.

D'autres planificateurs, en particulier deadline, travaillent-ils avec ionice?

Flup
la source

Réponses:

12

Non ioniceest un mécanisme permettant de spécifier les priorités. Mais deadlineignore les priorités et impose simplement un délai d'expiration à chaque opération d'E / S, puis s'assure que l'opération réussit avant que le délai d'expiration ne soit respecté.

Plus d'informations ici: le planificateur d'E / S Deadline

Le principal objectif de l'ordonnanceur de délai est de garantir une heure de début de service pour une demande. Il le fait en imposant un délai à toutes les opérations d'E / S pour éviter la famine des demandes. Il gère également deux files d'attente d'échéance, en plus des files d'attente triées (en lecture et en écriture). Les files d'attente de date limite sont essentiellement triées par leur date limite (l'heure d'expiration), tandis que les files d'attente triées sont triées par numéro de secteur.

Avant de servir la prochaine demande, le planificateur d'échéance décide quelle file d'attente utiliser. Les files d'attente de lecture reçoivent une priorité plus élevée, car les processus bloquent généralement les opérations de lecture. Ensuite, le planificateur d'échéance vérifie si la première demande dans la file d'attente d'échéance a expiré. Sinon, le planificateur sert un lot de demandes à partir de la file d'attente triée. Dans les deux cas, le planificateur sert également un lot de demandes suivant la demande choisie dans la file d'attente triée.

Par défaut, les demandes de lecture ont un délai d'expiration de 500 ms, les demandes d'écriture expirent dans 5 secondes.


la source