Как интерпретировать имена потоков kworker?


15

В Linux 3.11.0-13-generic, работающем поверх двухъядерной платы Xeon X5650 с двумя сокетами, htopпоказаны различные потоки kworker. Сортировка по именам (я немного подправил результат, который я показываю здесь, чтобы иметь потоки на ядре 2, а не на ядре 10), вот результат:

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

Потоки, имена которых начинаются с номера, прикрепляются к ядру с тем же номером. Итак, первое число - это ядро, управляющее потоком, и мне интересно, какой символ после :( 0или 0Hили 1) используется для этих потоков?

Мне также интересно, что означает uXX:Yсимволы?

У меня есть лишь смутное представление о том, что делают потоки kworker: они обрабатывают асинхронные события, вызванные системными вызовами, выполняющими ввод / вывод. Они где-то задокументированы?

Ответы:


20

Согласно kernel.org , синтаксис есть kworker/%u:%d%s (cpu, id, priority). uОбозначает специальный процессор, несвязанный процессор, а это означает , что в настоящее время KTHREAD несвязанное.

Рабочие из очереди заданий, которые имеют отрицательное приятное значение, помечены знаком «H». ( источник )


Таким образом, все kworkerпроцессы в вопросе ОП не имеют приоритета?
Кен Шарп
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.