Comment interpréter les noms des threads kworker?

15

Sous Linux 3.11.0-13-générique exécuté sur une carte hexa core Xeon X5650 à double socket, htopmontre différents threads kworker. Trié par noms (j'ai peaufiné le résultat que je montre ici un peu pour avoir les threads sur le core 2 avant ceux sur le core 10), voici le résultat:

kworker/0:0H
kworker/0:1
kworker/0:2
kworker/1:0
kworker/1:0H
kworker/1:1
kworker/2:0
kworker/2:0H
kworker/2:1
.....
kworker/11:0
kworker/11:0H
kworker/11:1
kworker/u48:0
kworker/u49:4
kworker/u49:5
kworker/u50:1
kworker/u50:2
.......

Les threads dont les noms commencent par un numéro sont épinglés au noyau avec le même numéro. Donc, le premier nombre est le noyau exécutant le thread et je me demande quel est le symbole après :( 0ou 0Hou 1) pour ces threads?

Je me demande aussi quelle est la signification des uXX:Ysymboles?

Je n'ai qu'une vague connaissance de ce que font les threads kworker: ils gèrent les événements asynchrones provoqués par les appels système effectuant des E / S. Sont-ils documentés quelque part?

Manuel Selva
la source

Réponses:

20

Selon kernel.org , la syntaxe est kworker/%u:%d%s (cpu, id, priority). Le udésigne un processeur spécial, le processeur non lié, ce qui signifie que le kthread est actuellement non lié.

Les employés de la file d'attente qui ont une valeur agréable négative ont un «H» postfixé à leur nom. ( source )

Jan
la source
Donc, tous les kworkerprocessus de la question du PO n'ont pas de priorité définie?
Ken Sharp