CPU selection for ithreads on 8.3
Navdeep Parhar
np at FreeBSD.org
Wed May 2 21:16:26 UTC 2012
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
More information about the freebsd-hackers
mailing list