Tom Chen wrote:

Thank you for your advice, I just added "set ddi_msix_alloc_limit = 8" to the bottom of /etc/system, but doesn't work, still 2 vectors. Do I need to do something extra in my interrupt allocation code? Is there any code in OpenSolaris can be a good reference?


Here's what I use in my /etc/system:

set ddi_msix_alloc_limit = <number of CPUs>
set pcplusmp:apic_msix_max = <number of CPUs>
set pcplusmp:apic_intr_policy = 1

The 2nd of these appears to be obsolete from recent inspection of the code. Try trapping the entry to apic_alloc_msix_vectors() and look at the 3rd argument; this is the number of vectors being requested. If this does not match what you asked for then some limit has already been applied (although I cannot find any limit other than ddi_msix_alloc_limit). If it does match what you ask for then one can only assume that there are not sufficient vectors with the requested priority to fulfil your request.

  Paul

--
===================================
Paul Durrant
http://www.linkedin.com/in/pdurrant
===================================
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to