On Linux 3.11.0-13-generic running on top of a dual socket Xeon X5650 hexa core board, htop shows different kworker threads. Sorted by names (I tweaked the result I am showing here a little bit to have the threads on core 2 before the ones on core 10), here is the result:
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 .......
The threads whose names start with a number are pinned to the core with the same number. So the first number is the core running the thread and I am wondering what the symbol after : (0 or 0H or 1) is for these threads?
I am also wondering what is the meaning of the uXX:Y symbols?
I have only a vague knowledge of what kworker threads do: they handle asynchronous events caused by system calls performing I/O. Are they documented somewhere?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
According to kernel.org, the syntax is kworker/%u:%d%s (cpu, id, priority). The u designates a special CPU, the unbound cpu, meaning that the kthread is currently unbound.
The workqueue workers which have negative nice value have ‘H’ postfixed to their names. (source)
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0