Paul Durrant wrote:
Tom Chen wrote:
Is there a way in solaris to figure out how many CPUs the system has
and which interrupt is assigned to which CPU? I am wondering why most
of the receive interrupts are assigned to CPU 1 in our test
sometimes. I wish I could assign different interrupts to different CPUs.
From within a driver? You can look at ncpus to tell you how many CPUs
you have. As for interrupt -> CPU mapping; that can change dynamically
(e.g. when a CPU is offlined) so relying on the mapping is risky. As
for making sure interrupts get spread; there is a policy tweakable
somewhere in the APIC code (can't remember where) and you need to make
sure it's set to round-robin interrupt assignment; I'm assuming you're
using MSI-X on a recent Solaris build.
You need to set the following in /etc/system
set ddi_msix_alloc_limit=8
set pcplusmp:apic_multi_msi_max=8
set pcplusmp:apic_msix_max=8
set pcplusmp:apic_intr_policy=1 <---- Round Robin
Rao.
Paul
_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss
_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss