Hi!
Today I enabled Hyper Threading on the server, and was surprised that Mikrotik does not use all 32 threads.
Only 16 worked.
Server 2x 8 core E5-2680 2.70GHz.
I wanted to know if there is a limit on the number of cpu / threads in x86 or am I not doing something right?

Different linux kernels behave slightly differently, however I can understand that IRQs are only handled by one thread per core … making use of both threads for IRQ hsndling would cause resource race anyway. In your case it seems that router spends most of time in I/O … if it ran some resource-hungry firewall filters, then I guess you’d see higher CPU load also on “virtual” cores.
Personally I wouldn’t enable HT on router machine … running parallel threads on single core slows down both threads … perhaps overall throughput would be slightly higher but at cost of higher delay most of time (even when CPU load is not high enough to warrant increase in number of “virtual CPUs”).
Yes you are right. HT does not give much benefit and it is always off for me. At the moment, it is included for the experiment. I wanted to make sure that Mikrotik can not use more than 16 threads.
The problem arose when I turned on Mikrotik on another server with a 2x E5-2680 v2 (10 core) processor without HT.
And again, 20 threads were created, of which only 16 worked.
Processor loads are automatically created by threads created by the Intel X520-DA1 multi-threaded card (it can handle up to 128 threads per port). As you see in the picture, she created 32 threads by the number of processors.
As you can see from the picture, I disabled RPS and manually distributed the processors, so that there would be no overlapping threads on the same processor.
And if Mikrotik would use all the processors, then regardless of the firewall configuration, say, nat or shaper, we will see usage counters on other processors, but they are practically absent.
After the series of experiments, I found a problem.
In the previous picture, this is a production server with system.npk and routing.npk packages. The server makes Firewall Filer / Nat / Mangle, Simple queues and BGP.
And in this picture it’s just bentdwith test.
It turns out that bandwith test can use all processors.
Why can’t the system use all the cores?
I have more than 4000 mikrotik devices on my network. I have CCR 1072 and 1036. My current traffic is 15G. I do the shaper and Nat on three x86 servers.
I want to install Mikrotik on a more powerful server. In the future, with the transition to the 7th version and a 40G card.
Dear Mikrotik group. Please fix this problem if possible.

Someone answer me? ![]()

Your probably best to email mikrotik support and ask them.
Sent from my SM-A520W using Tapatalk