Il prolem non è da netfilter, è il modo in cui il kernel gestisce gli interrupt.
Per impostazione predefinita, le versioni precedenti di APIC recapitano tutti gli interrupt alla CPU0.
È possibile verificare se questo è il vostro problema con:
cat /proc/interrupts
Potete vedere se gli interrupt del NIC (e ricordare che il gancio di netfilter vengono eseguiti nel corso di un RX o TX softirq) sono gestite da un single core.
Nelle versioni più recenti del kernel, esiste un'opzione di compilazione (CONFIG_HOTPLUG_CPU), che bilancia gli IRQ sui core esistenti.
Oppure, se non è possibile aggiornare la versione o ricompilare il kernel, è possibile aggiornare l'affinità SMP (con una maschera che gestisce più CPU) per tentare di bilanciare tra diversi core. O andare in ACPI e configurazione corretta (qui non posso aiutare di più).
Here potete trovare tutto su questa roba (SMP affininty e la gestione IRQ corretto)
fonte
2011-09-19 14:13:37
Grazie. Capito. –