Date: Tue, 28 Oct 2008 12:35:53 +0100 From: Bartosz Giza <gizmen@blurp.pl> To: freebsd-net@freebsd.org Subject: two NIC on 2 core system (scheduling problem) Message-ID: <200810281235.53508.gizmen@blurp.pl>
next in thread | raw e-mail | index | archive | help
Hi, i have two core system with freebsd 7.0. I have two NIC; first is em and second is bge. I wonder why system put irq processes almost always to one core. There is example: 11 root 1 171 ki31 0K 8K RUN 0 311.2H 96.19% idle: cpu0 10 root 1 171 ki31 0K 8K CPU1 1 271.4H 71.44% idle: cpu1 21 root 1 -68 - 0K 8K WAIT 1 48.8H 13.87% irq17: bge0 20 root 1 -68 - 0K 8K - 1 42.9H 11.72% em0 taskq Almost all the time irq17: bge0 and em0 taskq are on second cpu (1). I use SCHED_4BSD scheduler. How can i make system to use two cores not one for interrupt handling. On other router based on the same hardware and software i have something like that: 10 root 1 171 ki31 0K 8K RUN 1 235.4H 78.66% idle: cpu1 11 root 1 171 ki31 0K 8K RUN 0 185.2H 72.12% idle: cpu0 20 root 1 -68 - 0K 8K - 0 48.7H 23.00% em0 taskq 23 root 1 -68 - 0K 8K WAIT 0 19.2H 9.67% irq16: fxp1 21 root 1 -68 - 0K 8K WAIT 1 28.2H 8.01% irq17: bge0 I don't know why on this router system balance over two cores. One difference is that on this router i have another fxp card (3 total) Another question is why em0 taskq is eating so much cpu ? BGE interface is actually one that pushes 2 times more packets than em0 and it uses about half cpu comparing to em0. Is that not strange ? Could someone tell my why is this happening ? BGE is faster ? or maybe i can tune some
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810281235.53508.gizmen>