Paul Durrant wrote:
> Liu, Jiang wrote:
>>     On x86 platform, you also need to change another constraints
>> "apic_msix_max" in uts/i86pc/io/pcplusmp/apic_introp.c, this variable
>> will take effect in apic_alloc_msix_vectors() when you allocate
>> interrupt handlers. This limitation is x86 platform specific.
>>
>
> Ah ok. I'll try that. Actually apic_navail_vector() was the limit; it 
> was returning 29. I'll alter the tweakable you mention. Thanks :-)
>
> BTW; is there any plan to make the apic code thread/core/package aware 
> such that interrupts will get affinitized to different packages rather 
> than just using consecutive CPU numbers (or is the CPU numbering 
> scheme such that consecutive CPUs are actually on different packages)?


This has been the subject of much debate/consternation.  Part of the 
problem is that there doesn't seem to be just "one" answer.  The reason 
is that there is a trade off between sharing per-socket resources 
between core, versus being able to make use of that sharing -- (keeping 
caches warm, etc.)

Individual testing has found quite conflicting results across platforms 
and test loads for what is the "optimum" distribution of interrupts 
across  CPU cores.

I'd just say that this is an area that is "evolving", as we struggle to 
figure out what the best practice *should* be.

    -- Garrett
>
>   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

Reply via email to