CPU selection for ithreads on 8.3

Navdeep Parhar np at FreeBSD.org
Wed May 2 21:39:44 UTC 2012


On 05/02/12 14:28, Ryan Stone wrote:
> On Wed, May 2, 2012 at 5:16 PM, Navdeep Parhar<np at freebsd.org>  wrote:
>> 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.
>
> Does r232757 fix this?  That just missed 8.3-RELEASE.

I will try it.  But would this explain why it used to work with 8.2 but 
broke in 8.3?

Navdeep


More information about the freebsd-hackers mailing list