Skip site navigation (1)Skip section navigation (2)
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>