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