DDI interface thats H/W neutral is perfectly fine. We can use it
from userland where dladm can take the specified CPU list and
bind the MSI-X interrupt to the first CPU in the list from
userland itself.

BTW, does pcitool work well enough on Niagara to test with?

Thanks,
Sunay


Garrett D'Amore wrote:
> Yes, I think a DDI interface to this is preferred.
> 
> I've started looking at this.  It looks like DDI_INTROP functions are
> needed.  Unfortunately, this portion of the code is really quite
> platform specific, and it will take some time to figure out how best to
> handle this.  Separate implementations for i86pc, sun4v, and probably
> also sun4u, will be required... at minimum.
> 
>       -- Garrett
> 
> On Mon, 2007-07-30 at 19:37 -0700, Nitin Hande wrote:
>> Sunay
>>
>> For static assignment, currently there is an ioctl interface 
>> "PCITOOL_DEVICE_SET_INTR" to open a nexus driver and change interrupt 
>> assignment. This is a userland interface used by pcitool. One can use 
>> "pcitool -i <i-no> -w <cpu-id>" to statically change interrupt 
>> assignment. This is the only supported interface. A kernel interface was 
>> requested by Ethan Solomita (intrd team), but is not present yet. 
>> Besides from what Govinda (cc'ed on this thread) has described, opening 
>> a nexus driver and changing the interrupt assignment from within the 
>> kernel (i.e calling pcitool_set_intr) is not recommended/supported 
>> .Rather they would like to create a ddi_xxx alike interface for such 
>> task ....
>>
>> Nitin
>>  
>>
>>
>> Sunay Tripathi wrote:
>>> Garrett/Roamer,
>>>
>>> Have you made any progress with interrupt retargetting code. Basically,
>>> when a cpu list is specified via '-C' option for a NIC/VNIC or flow,
>>> we need to do two things:
>>> 1) Make i_ddi_intr_get_cpuid() work so in case of NIC having a single
>>>     interrupt, we can assign it to one of the specified CPUs if the
>>>     CPU list is specified for a NIC.
>>> 2) In case the NIC supports MSI-X interrupt, we should be able to assign
>>>     the interrupt for the Rx ring to one of the specified CPUs.
>>>
>>> Which also means that the MAC to driver APIs need to be strong enough to
>>> be able to associate a MSI-X interrupt with a Rx ring (Kais??).
>>>
>>> Cheers,
>>> Sunay
>>>
>>>   
>> _______________________________________________
>> crossbow-discuss mailing list
>> crossbow-discuss at opensolaris.org
>> http://mail.opensolaris.org/mailman/listinfo/crossbow-discuss
> 
> _______________________________________________
> crossbow-discuss mailing list
> crossbow-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/crossbow-discuss


-- 
Sunay Tripathi
Distinguished Engineer
Solaris Core Operating System
Sun MicroSystems Inc.

Solaris Networking:     http://www.opensolaris.org/os/community/networking
Project Crossbow:       http://www.opensolaris.org/os/project/crossbow



Reply via email to