Чи обробляється кожен пакет іншим ядром? Або це однопоточний процес?
2
Я не впевнений, чому Chopper3 закрив це питання. Щоб відповісти на це, хоча: Iptables - це справді просто передній інтерфейс для брандмауера Linux, який є netfilter. Netfilter - це справді система гаків у ядрі навколо обробки пакетів. Кожен пакет обробляється ядром шляхом ініціювання переривання. Від того, чи переважає баланс вашого ядра в декількох процесорах, залежить від того, скільки йому років. Дивіться цю тему в StackOverflow про неї. stackoverflow.com/questions/7467688 / ...
—
JakePaulus
+1, тому що я думаю, що це справжнє питання.
—
Сачин Дівекар
@JakePaulus Цей IRQ-балансування ніколи не призначить більше одного ядра одному перериванню. Тож перемикання ядер для кожного пакету в одній лінії ніколи не відбудеться?
—
Нілс
З точки зору кешування пам'яті процесора перемикання ядер для одного з'єднання не має особливого сенсу - це, можливо, навіть сповільнить речі, якщо ці ядра не мають спільного кешу. Але чому ви задаєте це питання?
—
Нілс
@Nils Перерви, створені інтерфейсом, можуть бути перенаправлені на інший, менш зайнятий процесор. Крім того, кілька інтерфейсів можуть переривати їх в різні процесори для розповсюдження навантаження. Я думаю, ви маєте рацію щодо трафіку з одного інтерфейсу, який не збалансований між процесорами на основі пакетів.
—
JakePaulus