Sunay Tripathi wrote: > 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. >
ioctl(PCITOOL_DEVICE_SET_INTR, ..) is a userland interface. It is currently used by pcitool and can be used by dladm. > BTW, does pcitool work well enough on Niagara to test with? > Govinda, is this stable on Niagara ? Nitin > 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 >> > > >