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 _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[email protected]"

