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