Como interpretar nomes de threads do kworker?

15

No Linux 3.11.0-13-generic, executado em cima de uma placa de núcleo htophexagonal Xeon X5650 de soquete duplo, mostra diferentes threads do kworker. Ordenados por nomes (ajustei o resultado que estou mostrando aqui um pouco para ter os threads no núcleo 2 antes dos do núcleo 10), eis o resultado:

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

Os segmentos cujos nomes começam com um número são fixados no núcleo com o mesmo número. Portanto, o primeiro número é o núcleo que está executando o thread e estou me perguntando qual é o símbolo após :( 0ou 0Hou 1) para esses threads?

Também estou me perguntando qual é o significado dos uXX:Ysímbolos?

Eu tenho apenas um conhecimento vago do que os threads do kworker fazem: eles lidam com eventos assíncronos causados ​​por chamadas do sistema executando E / S. Eles estão documentados em algum lugar?

Manuel Selva
fonte

Respostas:

20

De acordo com o kernel.org , a sintaxe é kworker/%u:%d%s (cpu, id, priority). Ele udesigna uma CPU especial, a cpu não acoplada, o que significa que o kthread atualmente não está acoplado.

Os trabalhadores da fila de trabalho que possuem um valor agradável negativo têm 'H' postfixado em seus nomes. ( fonte )

Jan
fonte
Portanto, todos os kworkerprocessos na pergunta do OP não têm um conjunto de prioridades?
Ken afiada