kworker 스레드 이름을 해석하는 방법은 무엇입니까?

kworker 스레드 이름을 해석하는 방법은 무엇입니까?

듀얼 소켓 Xeon X5650 6코어 마더보드에서 실행되는 Linux 3.11.0-13-generic의 경우,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또는 or) 0H뒤의 기호가 무엇인지 궁금합니다.1

나는 또한 이 기호들이 무엇을 의미하는지 알고 싶습니다 uXX:Y.

나는 kworker 스레드가 수행하는 작업에 대해 막연하게만 이해하고 있습니다. kworker 스레드는 I/O를 수행하는 시스템 호출로 인해 발생하는 비동기 이벤트를 처리합니다. 어딘가에 문서화되어 있나요?

답변1

~에 따르면kernel.org, 구문은 입니다 kworker/%u:%d%s (cpu, id, priority). u특수 CPU, 즉 바인딩 해제된 CPU를 지정합니다. 이는 kthread가 현재 바인딩 해제되었음을 의미합니다.

음수 양호 값을 가진 작업 대기열 작업자의 이름에는 접미사 "H"가 붙습니다. (원천)

관련 정보