Como interpretar nomes de threads kworker?

15

No Linux 3.11.0-13-genérico executado na parte superior de uma placa de núcleo hexa Xeon X5650 de soquete duplo, htop mostra diferentes threads de kworker. Ordenado por nomes (alterei o resultado que estou mostrando aqui um pouco para ter os threads no core 2 antes dos que estão no core 10), aqui está 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 encadeamentos 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 executa o encadeamento e estou me perguntando qual é o símbolo após : ( 0 ou 0H ou 1 ) para esses encadeamentos?

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

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

    
por Manuel Selva 29.08.2014 / 17:10

1 resposta

19

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

Os trabalhadores da fila de trabalho que têm um valor bom negativo têm 'H' postfixado aos seus nomes. ( fonte )

    
por 29.08.2014 / 21:47