The idea was to have QPs allocated to queues with specific CPUs
processing the queue "local" to the process that created it.
Since IRQs get distributed to all CPUs by default (at least with irqbalance)
and the fact that the CPU that created the QP may not be the CPU doing
the posts, it didn't help. I'll submit a patch to remove the "feature" :-).
________________________________________
From: Jason Gunthorpe [jguntho...@obsidianresearch.com]
Sent: Friday, October 22, 2010 1:40 PM
To: Ralph Campbell; RDMA list
Subject: BUG dump from QIB

Hi Ralph,

It doesn't look like smp_processor_id is callable the way QIB does, I
get kernel BUGS:

This is a stock upstream with CONFIG_PREEMPT/DEBUG_PREEMPT
$ uname -a
Linux ib6 2.6.35.7 #17 SMP PREEMPT Thu Oct 7 15:38:53 MDT 2010 x86_64 GNU/Linux

[   36.769466] BUG: using smp_processor_id() in preemptible [00000000] code: 
insmod/5858
[   36.769500] caller is qib_create_qp+0x56c/0x745 [ib_qib]
[   36.769505] Pid: 5858, comm: insmod Not tainted 2.6.35.7 #17
[   36.769508] Call Trace:
[   36.769520]  [<ffffffff8116c776>] debug_smp_processor_id+0xc2/0xdc
[   36.769538]  [<ffffffffa0201b18>] qib_create_qp+0x56c/0x745 [ib_qib]
[   36.769545]  [<ffffffff8102fcb9>] ? sub_preempt_count+0x92/0xa5
[   36.769550]  [<ffffffff8102eb47>] ? get_parent_ip+0x11/0x41
[   36.769554]  [<ffffffff8102eb47>] ? get_parent_ip+0x11/0x41
[   36.769573]  [<ffffffffa00758ab>] ib_create_qp+0x18/0x8e [ib_core]
[   36.769582]  [<ffffffffa008c948>] create_mad_qp+0x7d/0xce [ib_mad]
[   36.769589]  [<ffffffffa008c13b>] ? qp_event_handler+0x0/0x1e [ib_mad]
[   36.769596]  [<ffffffffa008cec4>] ib_mad_init_device+0x2cf/0x6ad [ib_mad]
[   36.769603]  [<ffffffff8131c1ef>] ? _raw_spin_unlock_irqrestore+0x2c/0x37
[   36.769613]  [<ffffffffa0077bef>] ib_register_device+0x35d/0x401 [ib_core]
[   36.769632]  [<ffffffffa020983b>] ? qib_create_port_files+0x0/0x265 [ib_qib]
[   36.769654]  [<ffffffffa02236b5>] qib_register_ib_device+0x76a/0x8a8 [ib_qib]
[   36.769673]  [<ffffffffa022af11>] qib_init_one+0xdd/0x4f7 [ib_qib]
[   36.769680]  [<ffffffff81175a97>] local_pci_probe+0x12/0x16
[   36.769685]  [<ffffffff81176755>] pci_device_probe+0x5f/0x89
[   36.769690]  [<ffffffff811cef0a>] ? driver_sysfs_add+0x4c/0x72
[   36.769695]  [<ffffffff811cf04f>] driver_probe_device+0xa3/0x151
[   36.769699]  [<ffffffff811cf155>] __driver_attach+0x58/0x7b
[   36.769704]  [<ffffffff811cf0fd>] ? __driver_attach+0x0/0x7b
[   36.769708]  [<ffffffff811ce8c9>] bus_for_each_dev+0x4e/0x85
[   36.769712]  [<ffffffff811ceebc>] driver_attach+0x1c/0x1e
[   36.769716]  [<ffffffff811ce1e1>] bus_add_driver+0xb8/0x20d
[   36.769721]  [<ffffffff811cf432>] driver_register+0xb3/0x121
[   36.769736]  [<ffffffffa02420a2>] ? qlogic_ib_init+0x0/0x126 [ib_qib]
[   36.769740]  [<ffffffff811769b2>] __pci_register_driver+0x51/0xbc
[   36.769754]  [<ffffffffa02420a2>] ? qlogic_ib_init+0x0/0x126 [ib_qib]
[   36.769769]  [<ffffffffa0242165>] qlogic_ib_init+0xc3/0x126 [ib_qib]
[   36.769775]  [<ffffffff810001f0>] do_one_initcall+0x5a/0x14a
[   36.769781]  [<ffffffff8106815d>] sys_init_module+0x9a/0x1d8

Jason

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to