Wie interpretiere ich Namen von kworker-Threads?

15

Unter Linux 3.11.0-13-generic, das auf einem Xeon X5650-Hexa-Core-Board mit zwei htopSockeln ausgeführt wird , werden verschiedene kworker-Threads angezeigt. Nach Namen sortiert (Ich habe das Ergebnis, das ich hier zeige, ein wenig optimiert, um die Threads auf Kern 2 vor den Threads auf Kern 10 zu haben), hier ist das Ergebnis:

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
.......

Die Threads, deren Namen mit einer Nummer beginnen, werden mit derselben Nummer an den Kern angeheftet. Die erste Zahl ist also der Kern, der den Thread ausführt, und ich frage mich, was das Symbol nach :( 0oder 0Hoder 1) für diese Threads ist.

Ich frage mich auch, was bedeuten die uXX:YSymbole?

Ich weiß nur vage, was kworker-Threads tun: Sie behandeln asynchrone Ereignisse, die durch Systemaufrufe verursacht werden, die E / A ausführen. Sind sie irgendwo dokumentiert?

Manuel Selva
quelle

Antworten:

20

Laut kernel.org lautet die Syntax kworker/%u:%d%s (cpu, id, priority). Das ubezeichnet eine spezielle CPU, die ungebundene CPU, was bedeutet, dass der kthread derzeit ungebunden ist.

Die Workqueue-Worker, die einen negativen Nizza-Wert haben, haben ein H-Postfix an ihren Namen. ( Quelle )

Jan
quelle
Also haben alle kworkerProzesse in der Frage des OP keine festgelegte Priorität?
Ken Sharp