Date: Wed, 02 May 2012 14:16:17 -0700 From: Navdeep Parhar <np@FreeBSD.org> To: freebsd-hackers@freebsd.org Subject: CPU selection for ithreads on 8.3 Message-ID: <4FA1A421.6020601@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
There seems to be a regression in 8.3 in the way the kernel selects CPUs for interrupts. For example, cxgb(4) on 8.3 ends up with all its ithreads on the same CPU (CPU7 in this case). 12 root -68 - 0K 816K WAIT 7 0:55 0.00% intr{irq279: cxgbc0} 12 root -68 - 0K 816K WAIT 7 0:52 0.00% intr{irq275: cxgbc0} 12 root -68 - 0K 816K WAIT 7 0:47 0.00% intr{irq278: cxgbc0} 12 root -68 - 0K 816K WAIT 7 0:43 0.00% intr{irq277: cxgbc0} 12 root -68 - 0K 816K WAIT 7 0:43 0.00% intr{irq282: cxgbc0} 12 root -68 - 0K 816K WAIT 7 0:41 0.00% intr{irq281: cxgbc0} 12 root -68 - 0K 816K WAIT 7 0:32 0.00% intr{irq276: cxgbc0} 12 root -68 - 0K 816K WAIT 7 0:31 0.00% intr{irq280: cxgbc0} Back in the day there used to be code in cxgb to bind different interrupts to different CPUs but it was removed because the kernel distributed them across CPUs anyway. So what changed? This appears 8.3 specific. I don't see it on head and I don't have a 9 system readily available right now. Regards, Navdeep
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FA1A421.6020601>