C
C
Coloritt2017-05-23 12:05:22
linux
Coloritt, 2017-05-23 12:05:22

CPU interrupts how to distribute the load among the cores?

Hello!
There is a machine:
FreeBSD gw-1 10.2-RELEASE FreeBSD 10.2-RELEASE
It works as a router. We encountered a problem of the following type:
07d9afaa50bb47faaed5999b82762888.jpg
As we can see on the screen, the output of the top -P CC command, the lion's share of interrupts is processed only by 4 cores out of 24 (real 12 (2 physical processors with 6 cores each)).
As you can see on the screenshot, 4 cores serve around 85% of interruptions, the rest "rest".
Please tell me how to scatter interrupts across the cores. when the load on 4 cores is around 70-90%, wild brakes begin with the network.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
D
Dmitry Aleksandrov, 2017-05-23
@jamakasi666

1) To begin with, disable all unnecessary devices through the BIOS (built-in network / sound ...). 2) Throw away any setevushki and put the normal one from Intel (bsd and Linux in general, and indeed everyone loves Intel cards).
3) Dig into the BIOS and enable something like "interrupt swizzling"

K
kaN5300, 2017-06-01
@kaN5300

1. Show ifconfig. You need to understand which network driver the kernel is running on and at the same time find out how many max queues the nickname chip supports.
2. I strongly recommend cutting off HT to hell in the BIOS, because on routers this is an absolutely unnecessary thing. You won't achieve any performance improvement in routing with the help of threading.
2. Is there only a forward or are there other nats and pipes? Not all nats are equally useful. libalias is parallelized, for example, unlike natd.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question